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 的东西进行比较。
广告