DataFrame.cumsum() / Series.cumsum()
Метод cumsum() возвращает кумулятивную (нарастающую) сумму элементов по выбранной оси. Полезен для построения накопленных метрик: пройденного пути, суммарной энергии и т. п.
Сигнатура
DataFrame.cumsum(axis=None, skipna=True)
Series.cumsum(axis=None, skipna=True)
Параметры
axis— 0 (по столбцам), 1 (по строкам).skipna— пропускатьNaN(defaultTrue).
Возвращаемое значение
Объект того же типа с накопленными суммами.
Примеры
Пример 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.