pandas.Series.cumprod#

Series.cumprod(ось=None, skipna=True, *args, **kwargs)[источник]#

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

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

Параметры:
ось{0 или 'index', 1 или 'columns'}, по умолчанию 0

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

skipnabool, по умолчанию 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