Pandas 中的 series.cumsum() 方法如何工作?

pandasserver side programmingprogramming更新于 2025/5/17 23:22:17

Pandas Series.cumsum() 方法用于查找系列对象中元素的累积和。

Series.cumsum() 方法返回与原始系列对象长度相同的累积和。累积和的第一个元素与输入对象相同。

此方法有三个参数,分别是"axis"、"skipna"和"args"关键字。重要的参数是"skipna"默认情况下,它用于排除 Nan/null 值,如果我们包含缺失值,则需要将其设置为"False"。

示例 1

# 导入所需包
import pandas as pd
import numpy as np

# 创建 pandas Series 对象
series = pd.Series([9,3,8,np.nan,4])
print(series)

print("Cumulative sum: ",series.cumsum())

解释

在此示例中,我们正在寻找系列对象"series"的累积和,它具有一些整数值和 Nan。在这里,我们应用了 cumsum() 方法而不更改默认参数值。

输出

0 9.0
1 3.0
2 8.0
3 NaN
4 4.0
dtype: float64

Cumulative sum:
0  9.0
1 12.0
2 20.0
3  NaN
4 24.0
dtype: float64

累计和的第一个元素与原始系列对象具有相同的元素。 cumsam() 方法默认跳过 Nan 值,因此索引位置 3 处的 Nan 值被忽略。

示例 2

# 导入所需包
import pandas as pd
import numpy as np

# 创建 pandas Series 对象
series = pd.Series([7,-3,18,np.nan,4,1])
print(series)

print("Cumulative sum including NA: ",series.cumsum(skipna=False))

解释

与上一个示例相同,这里我们也计算了累计和,但 skipna 参数从默认的 True 更改为 False。因此 NULL 值不会被忽略。

输出

0  7.0
1 -3.0
2 18.0
3  NaN
4  4.0
5  1.0
dtype: float64

Cumulative sum including NA:
0  7.0
1  4.0
2 22.0
3 NaN
4 NaN
5 NaN
dtype: float64

直到 Nan 值,我们得到了元素的累积和。此后我们只得到了 Nan 值,这是因为 NaN 与任何元素的累积和都只会是 NaN。


相关文章