pandas学习手札(四)-cumsum函数

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类似的函数


求最大值、最小值、乘积的都有,都是同样的使用方式。

你可能感兴趣的:(pandas学习手札(四)-cumsum函数)