【Pandas】pandas Series cumsum

Pandas2.2 Series

Computations descriptive stats

方法 描述
Series.abs() 用于计算 Series 中每个元素的绝对值
Series.all() 用于检查 Series 中的所有元素是否都为 True 或非零值(对于数值型数据)
Series.any() 用于检查 Series 中是否至少有一个元素为 True 或非零值(对于数值型数据)
Series.autocorr() 用于计算 Series 的自相关系数
Series.between() 用于检查 Series 中的每个元素是否在指定的两个值之间(包括边界值)
Series.clip() 用于将 Series 中的元素限制在指定的上下限之间
Series.corr() 用于计算两个 Series 之间的相关系数
Series.count() 用于计算 Series 中非 NA/null 值的数量
Series.cov(other[, min_periods, ddof]) 用于计算两个 Series 之间的协方差
Series.cummax([axis, skipna]) 用于计算 Series 中元素的累积最大值
Series.cummin([axis, skipna]) 用于计算 Series 中元素的累积最小值
Series.cumprod([axis, skipna]) 用于计算 Series 中元素的累积乘积
Series.cumsum([axis, skipna]) 用于计算 Series 中元素的累积和

pandas.Series.cumsum

pandas.Series.cumsum 方法用于计算 Series 中元素的累积和。它会遍历 Series 的每个元素,并在每个位置返回到目前为止的所有元素的和。缺失值(如 NaN)会被跳过,但在第一个非缺失值之前的位置,结果将保持为 NaN。

参数
  • axis: {0 or ‘index’}, 默认为 0
    • 只接受 0 或 ‘index’,因为 Series 只有一个轴。
  • skipna: bool, 默认为 True
    • 是否跳过缺失值(NaN)。如果为 False,则在遇到 NaN 时,累积和也将为 NaN。
  • *args, **kwargs: 其他参数,通常不需要指定。
返回值
  • Series: 包含累积和的新 Series
示例及结果
示例 1: 默认参数(skipna=True
import pandas as pd

# 创建一个包含一些数值和缺失值的 Series
s = pd.Series([1, 2, None, 3, 4, None, 5])

# 使用 cumsum 方法计算累积和,默认 skipna=True
cumsum_result = s.cumsum()

print(f"Original Series: {s}")
print(f"Cumulative Sum (skipna=True): {cumsum_result}")
输出结果:
Original Series: 0    1.0
1    2.0
2    NaN
3    3.0
4    4.0
5    NaN
6    5.0
dtype: float64
Cumulative Sum (skipna=True): 0     1.0
1     3.0
2     NaN
3     6.0
4    10.0
5     NaN
6    15.0
dtype: float64

在这个例子中,原始 Series s 包含一些数值和缺失值。使用 cumsum 方法后,返回的结果是一个新的 Series,其中每个位置的值是到该位置为止的所有元素的和。注意:

  • 在第一个非缺失值之前的位置(即索引 2),结果为 NaN。
  • 在索引 3 处,累积和为 6(1 + 2 + 3)。
  • 在索引 4 处,累积和为 10(1 + 2 + 3 + 4)。
  • 在索引 5 处,由于当前值为 NaN,累积和保持为上一个非缺失值的和(即 10)。
  • 最后,在索引 6 处,累积和更新为 15(1 + 2 + 3 + 4 + 5)。
示例 2: skipna=False
# 使用 cumsum 方法计算累积和,skipna=False
cumsum_result_no_skipna = s.cumsum(skipna=False)

print(f"Cumulative Sum (skipna=False): {cumsum_result_no_skipna}")
输出结果:
Cumulative Sum (skipna=False): 0    1.0
1    3.0
2    NaN
3    NaN
4    NaN
5    NaN
6    NaN
dtype: float64

在这个示例中,当 skipna=False 时,累积和在遇到第一个 NaN 后将保持为 NaN。

总结
  • axis: 对于 Series,axis 参数默认为 0 或 ‘index’,且不能更改。
  • skipna: 控制是否跳过 NaN 值,默认为 True。

希望这能帮助你更好地理解 Series.cumsum 方法的参数和行为。

你可能感兴趣的:(Pandas,Series,pandas)