series.cummax() 方法在 Pandas 中如何工作?

pandasserver side programmingprogramming更新于 2025/5/18 0:07:17

pandas Series.cummax() 方法用于查找系列对象中元素的累积最大值。

输出系列的长度与输入系列对象的长度相同。输出系列由 series.cummax() 方法返回,它由累积最大值组成,而第一个元素保持不变。

此方法采用三个参数,即"axis"、"skipna"和其他关键字。如果我们将"skipna"参数设置为"False",则默认情况下会排除 Nan/null 值那么它就包含 Nan/null 值。

示例 1

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

# 创建 pandas Series 对象
series = pd.Series([10,22,14,np.nan,41,12])
print(series)

print("Cumulative maximum: ",series.cummax())

解释

在此示例中,我们使用 python 列表创建了一个 pandas 系列。列表对象包含一个 Null 值和一些整数值。然后我们应用了 cummax() 方法,而不更改任何默认参数值。

输出

0 10.0
1 22.0
2 14.0
3  NaN
4 41.0
5 12.0
dtype: float64

Cumulative maximum:
0 10.0
1 22.0
2 22.0
3  NaN
4 41.0
5 41.0
dtype: float64

cummax 系列的第一个元素始终与原始系列具有相同的元素。默认情况下,cummax() 方法会跳过 Nan 值的执行,因此位置 3 处的 Nan 值将被忽略。

示例 2

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

# 创建 pandas 系列对象
series = pd.Series([6,23,78,np.nan,89,34])
print(series)

print("Cumulative maximum: ",series.cummax(skipna=False))

解释

与前面的示例相同,这里我们也初始化了一个 pandas 系列对象。并应用 cummax() 方法,将 skipna 值从 True 设置为 False。这意味着它在执行时不会忽略 Null/Nan 值。

输出

0  6.0
1 23.0
2 78.0
3  NaN
4 89.0
5 34.0
dtype: float64
Cumulative maximum: 0 6.0
1 23.0
2 78.0
3  NaN
4  NaN
5  NaN
dtype: float64

直到 Nan 值,我们得到了累积的最大元素。此后,我们只得到了 Nan 值,这是由于 NaN 与仅返回 NaN 的任何事物相比。


相关文章