【Pandas】pandas Series cummax
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 中元素的累积最大值 |
pandas.Series.cummax
pandas.Series.cummax
方法用于计算 Series 中元素的累积最大值。它会遍历 Series 的每个元素,并在每个位置返回到目前为止的最大值。缺失值(如 NaN)会被跳过,但在第一个非缺失值之前的位置,结果将保持为 NaN。
参数
- axis: {0 or ‘index’}, 默认为 0
- 只接受 0 或 ‘index’,因为 Series 只有一个轴。
- skipna: bool, 默认为 True
- 是否跳过缺失值(NaN)。如果为 False,则在遇到 NaN 时,累积最大值也将为 NaN。
- *args, **kwargs: 其他参数,通常不需要指定。
行为
- 累积最大值: 计算 Series 中每个位置的累积最大值。
- 跳过缺失值: 如果
skipna=True
,则跳过 NaN 值;如果skipna=False
,则在遇到 NaN 时,累积最大值也将为 NaN。
示例及结果
示例 1: 默认参数(skipna=True
)
import pandas as pd
# 创建一个包含一些数值和缺失值的 Series
s = pd.Series([1, 3, None, 2, 5, 4, None, 6])
# 使用 cummax 方法计算累积最大值,默认 skipna=True
cummax_result = s.cummax()
print(f"Original Series: {s}")
print(f"Cumulative Maximum (skipna=True): {cummax_result}")
输出结果:
Original Series: 0 1.0
1 3.0
2 NaN
3 2.0
4 5.0
5 4.0
6 NaN
7 6.0
dtype: float64
Cumulative Maximum (skipna=True): 0 1.0
1 3.0
2 NaN
3 3.0
4 5.0
5 5.0
6 NaN
7 6.0
dtype: float64
示例 2: skipna=False
# 使用 cummax 方法计算累积最大值,skipna=False
cummax_result_no_skipna = s.cummax(skipna=False)
print(f"Cumulative Maximum (skipna=False): {cummax_result_no_skipna}")
输出结果:
Cumulative Maximum (skipna=False): 0 1.0
1 3.0
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
dtype: float64
在这个示例中,当 skipna=False
时,累积最大值在遇到第一个 NaN 后将保持为 NaN。
总结
axis
: 对于 Series,axis
参数默认为 0 或 ‘index’,且不能更改。skipna
: 控制是否跳过 NaN 值,默认为 True。
希望这能帮助你更好地理解 Series.cummax
方法的参数和行为。