DataFrame.cumsum() / Series.cumsum()

Метод cumsum() возвращает кумулятивную (нарастающую) сумму элементов по выбранной оси. Полезен для построения накопленных метрик: пройденного пути, суммарной энергии и т. п.

Сигнатура

DataFrame.cumsum(axis=None, skipna=True)
Series.cumsum(axis=None, skipna=True)

Параметры

  • axis — 0 (по столбцам), 1 (по строкам).

  • skipna — пропускать NaN (default True).

Возвращаемое значение

Объект того же типа с накопленными суммами.

Примеры

Пример 1. Простая Series

import pandas as pd

s = pd.Series([1, 2, 3, 4])
print(s.cumsum())
0     1
1     3
2     6
3    10
dtype: int64

Пример 2. Накопленный пройденный путь

Скорость робота за каждую секунду в м/с — считаем суммарное расстояние:

import pandas as pd

speed = pd.Series([0.5, 0.6, 0.55, 0.7])
print(speed.cumsum())
0    0.50
1    1.10
2    1.65
3    2.35
dtype: float64

Пример 3. DataFrame по столбцам

import pandas as pd

df = pd.DataFrame({"a": [1, 2, 3], "b": [10, 20, 30]})
print(df.cumsum())
   a   b
0  1  10
1  3  30
2  6  60

Пример 4. По строкам

import pandas as pd

df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
print(df.cumsum(axis=1))
   a   b
0  1   5
1  2   7
2  3   9

Пример 5. С NaN

import pandas as pd
import numpy as np

s = pd.Series([1, np.nan, 3, 4])
print(s.cumsum())
0    1.0
1    NaN
2    4.0
3    8.0
dtype: float64

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.