cumsum函数的使用
Series.cumsum(self, axis=None, skipna=True, *args, **kwargs)
Return cumulative sum over a DataFrame or Series axis.
Returns a DataFrame or Series of the same size containing the cumulative sum.
cumulative是累计、累积的意思,也就是说这个函数可以返回一个累计值,我们经常会遇到月累计、年累计这种指标,用这个函数就很方便了。
实例
Series demo
import pandas as pd
import numpy as np
s = pd.Series([2, np.nan, 5, -1, 0])
print(s)
print(s.cumsum())
我们看第二个结果集,输出的数据就是按照index逐步累加的结果,需要注意的是这里有一个NaN,也就是空值,SQL里面的NULL,在累计的时候,cumsum函数默认忽略了NaN值,我们可以通过参数来设置
skipna : boolean, default True
Exclude NA/null values. If an entire row/column is NA, the result will be NA.
测试下
print(s.cumsum(skipna=False))
因为第二个值是NaN,所以后面累计出来的结果都是NaN,我们可以结合实际的场景去选择如何处理
DataFrame demo
# DataFrame demo
import pandas as pd
import numpy as np
df = pd.DataFrame([[2.0, 1.0],
[3.0, np.nan],
[1.0, 0.0]],
columns=list('AB'))
print(df)
print('-----------')
print(df.cumsum())
DataFrame会稍微特殊些,它又两个轴,默认是按照index进行累加,我们可以通过参数让它在column上累计
axis : {0 or ‘index’, 1 or ‘columns’}, default 0
The index or the name of the axis. 0 is equivalent to None or ‘index’.
print('-----------')
print(df.cumsum(axis=1))
翻看API文档的话,会找到几个和cumsum类似的函数
求最大值、最小值、乘积的都有,都是同样的使用方式。