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
方法的参数和行为。