pandas.DataFrame.cumsum#
- DataFrame.cumsum(ось=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 или DataFrame
Возвращает кумулятивную сумму Series или DataFrame.
Смотрите также
core.window.expanding.Expanding.sumАналогичная функциональность, но игнорирует
NaNзначения.DataFrame.sumВозвращает сумму по оси DataFrame.
DataFrame.cummaxВозвращает кумулятивный максимум по оси DataFrame.
DataFrame.cumminВозвращает кумулятивный минимум по оси DataFrame.
DataFrame.cumsumВозвращает кумулятивную сумму по оси DataFrame.
DataFrame.cumprodВозвращает кумулятивное произведение по оси DataFrame.
Примеры
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.cumsum() 0 2.0 1 NaN 2 7.0 3 6.0 4 6.0 dtype: float64
Чтобы включить значения NA в операцию, используйте
skipna=False>>> s.cumsum(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.cumsum() A B 0 2.0 1.0 1 5.0 NaN 2 6.0 1.0
Для итерации по столбцам и нахождения суммы в каждой строке, используйте
axis=1>>> df.cumsum(axis=1) A B 0 2.0 3.0 1 3.0 NaN 2 1.0 1.0