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。

