Spec-Zone.ru › pandas 2

pandas.Series.cumprod

Series.cumprod(axis=None, skipna=True, *args, **kwargs)[source]

Возвращение кумулятивного произведения по оси DataFrame или Series.

Возвращает DataFrame или Series того же размера, содержащие кумулятивное произведение.

Параметры:
axis:{0 или ‘index’, 1 или ‘columns’}, по умолчанию 0

Индекс или имя оси. 0 эквивалентно None или ‘index’. Для Series этот параметр не используется и по умолчанию равен 0.

skipna:bool, по умолчанию True

Исключить значения NA/null. Если вся строка/столбец содержит значения NA, результат будет NA.

*args, **kwargs

Дополнительные ключевые слова не оказывают влияния, но могут приниматься для совместимости с NumPy.

Возвращаемое значение:
скаляр или Series

Возвращает кумулятивное произведение скаляра или Series.

См. также

core.window.expanding.Expanding.prod

Аналогичная функция, но игнорирует NaN значения.

Series.prod

Возвращает произведение по оси Series.

Series.cummax

Возвращает кумуляльный максимум по оси Series.

Series.cummin

Возвращает кумуляльный минимум по оси Series.

Series.cumsum

Возвращает кумулятивную сумму по оси Series.

Series.cumprod

Возвращает кумулятивное произведение по оси Series.

Примеры

Series

>>> s = pd.Series([2, np.nan, 5, -1, 0])
>>> s
0    2.0
1    NaN
2    5.0
3   -1.0
4    0.0
dtype: float64

По умолчанию значения NA игнорируются.

>>> s.cumprod()
0     2.0
1     NaN
2    10.0
3   -10.0
4    -0.0
dtype: float64

Для включения значений NA в операцию используйте skipna=False

>>> s.cumprod(skipna=False)
0    2.0
1    NaN
2    NaN
3    NaN
4    NaN
dtype: float64

DataFrame

>>> df = pd.DataFrame([[2.0, 1.0],
...                    [3.0, np.nan],
...                    [1.0, 0.0]],
...                   columns=list('AB'))
>>> df
     A    B
0  2.0  1.0
1  3.0  NaN
2  1.0  0.0

По умолчанию итерируется по строкам и находит произведение в каждом столбце. Это эквивалентно axis=None или axis='index'.

>>> df.cumprod()
     A    B
0  2.0  1.0
1  6.0  NaN
2  6.0  0.0

Чтобы итерироваться по столбцам и находить произведение в каждой строке, используйте axis=1

>>> df.cumprod(axis=1)
     A    B
0  2.0  2.0
1  3.0  NaN
2  1.0  0.0

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.Series.cumprod.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API