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


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

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

此方法采用三个参数,即“axis”、“skipna”和附加关键字。“skipna”参数默认情况下排除 Nan/空值,如果将其设置为“False”,则它包含 Nan/空值。

示例 1

# importing required packages
import pandas as pd
import numpy as np

# create a pandas Series object
series = pd.Series([10,22,14,np.nan,41,12])
print(series)

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

解释

在此示例中,我们使用 Python 列表创建了一个 pandas 序列。列表对象包含一个空值和一些整数值。然后,我们在不更改任何默认参数值的情况下应用了 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

# importing required packages
import pandas as pd
import numpy as np

# create a pandas Series object
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 的东西进行比较。

更新于: 2022年3月9日

256 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告