Метод cumsum
Метод cumsum применяется к DataFrame
и возвращает кумулятивную сумму по строкам или столбцам.
Первым параметром можно передать ось axis:
по умолчанию axis=0 (вычисления по столбцам),
при axis=1 - по строкам. Параметр skipna
управляет пропуском пропущенных значений: если True,
то NaN в исходных данных не учитывается,
но результат для соответствующей позиции может остаться NaN.
Синтаксис
df.cumsum(axis=None, skipna=True, numeric_only=False)
Пример
Давайте получим кумулятивную сумму по столбцам таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.cumsum()
print(res)
Результат выполнения кода:
a b
0 1 10
1 3 30
2 6 60
3 10 100
4 15 150
Пример
А теперь получим кумулятивную сумму по строкам,
передав параметр axis со значением 1:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.cumsum(axis=1)
print(res)
Результат выполнения кода:
a b
0 1 11
1 2 22
2 3 33
3 4 44
4 5 55
Пример
Покажем, как работает пропуск пропущенных значений.
Установим skipna в True:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.cumsum(skipna=True)
print(res)
Результат выполнения кода:
a b
0 1.0 10
1 3.0 30
2 NaN 60
3 7.0 100
4 12.0 150