pandas.DataFrame.cumsum#

DataFrame.cumsum(axis=0, skipna=True, numeric_only=False, *args, **kwargs)[源代码][源代码]#

返回 DataFrame 或 Series 轴上的累积和。

返回一个与原数据相同大小的 DataFrame 或 Series,包含累计和。

参数:
{0 或 ‘index’, 1 或 ‘columns’},默认 0

索引或轴的名称。0 等同于 None 或 ‘index’。对于 Series,此参数未使用并默认为 0。

skipna布尔值, 默认为 True

排除 NA/null 值。如果整行/整列都是 NA,结果将是 NA。

numeric_only布尔值, 默认为 False

仅包含浮点数、整数、布尔列。

*args, **kwargs

额外的关键字没有效果,但可能被接受以兼容NumPy。

返回:
Series 或 DataFrame

返回 Series 或 DataFrame 的累积和。

参见

core.window.expanding.Expanding.sum

类似的功能,但忽略 NaN 值。

DataFrame.sum

返回 DataFrame 轴上的总和。

DataFrame.cummax

返回 DataFrame 轴上的累积最大值。

DataFrame.cummin

返回 DataFrame 轴上的累积最小值。

DataFrame.cumsum

返回 DataFrame 轴上的累积和。

DataFrame.cumprod

返回 DataFrame 轴上的累积乘积。

例子

系列

>>> s = pd.Series([2, np.nan, 5, -1, 0])
>>> s
0    2.0
1    NaN
2    5.0
3   -1.0
4    0.0
dtype: float64

默认情况下,NA 值会被忽略。

>>> s.cumsum()
0    2.0
1    NaN
2    7.0
3    6.0
4    6.0
dtype: float64

要在操作中包含 NA 值,请使用 skipna=False

>>> s.cumsum(skipna=False)
0    2.0
1    NaN
2    NaN
3    NaN
4    NaN
dtype: float64

DataFrame

>>> df = pd.DataFrame([[2.0, 1.0],
...                    [3.0, np.nan],
...                    [1.0, 0.0]],
...                   columns=list('AB'))
>>> df
     A    B
0  2.0  1.0
1  3.0  NaN
2  1.0  0.0

默认情况下,遍历行并在每一列中找到总和。这等同于 axis=Noneaxis='index'

>>> df.cumsum()
     A    B
0  2.0  1.0
1  5.0  NaN
2  6.0  1.0

要遍历列并找到每行的总和,请使用 axis=1

>>> df.cumsum(axis=1)
     A    B
0  2.0  3.0
1  3.0  NaN
2  1.0  1.0