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