看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas
的 cummax()
方法用于计算 DataFrame
或 Series
中的累积最大值。这意味着它会返回一个新的 DataFrame
或 Series
,其中每个元素是到当前元素位置为止的最大值。
DataFrame.cummax(axis=0, skipna=True, *args, **kwargs)
axis
: 可选。默认值为 0
,表示按列进行计算。如果设置为 1
,则按行进行计算。skipna
: 可选。布尔值,默认值为 True
。如果为 True
,则跳过 NA/null 值。如果为 False
,任何 NA 值会导致计算结果也为 NA。*args, **kwargs
: 其他关键字没有效果,但可能会被接受以与NumPy兼容。返回一个与原始 DataFrame
或 Series
形状相同的对象,其中每个元素表示到当前元素位置为止的累积最大值。
假设有一个包含多个变量的数据集,我们希望计算这些变量的累积最大值。
Series:
s = pd.Series([2, np.nan, 5, -1, 0])
s
'''
0 2.0
1 NaN
2 5.0
3 -1.0
4 0.0
dtype: float64
'''
默认情况下,NA值被忽略。
s.cummax()
'''
0 2.0
1 NaN
2 5.0
3 5.0
4 5.0
dtype: float64
'''
要在操作中包含NA值,请使用skipna=False
s.cummax(skipna=False)
'''
0 2.0
1 NaN
2 NaN
3 NaN
4 NaN
dtype: float64
'''
DataFrame:
df = pd.DataFrame([[2.0, 1.0],
[3.0, np.nan],
[1.0, 0.0]],
columns=list('AB'))
df
'''
A B
0 2.0 1.0
1 3.0 NaN
2 1.0 0.0
'''
默认情况下,迭代行并在每列中找到最大值。这相当于axis=None或axis='index'。
df.cummax()
'''
A B
0 2.0 1.0
1 3.0 NaN
2 3.0 1.0
'''
要遍历列并找到每行中的最大值,请使用axis=1
df.cummax(axis=1)
'''
A B
0 2.0 2.0
1 3.0 NaN
2 1.0 1.0
'''
这些结果帮助我们理解每个变量在数据集中的最大值随时间的变化情况。
更新时间:2024-08-08 08:40:16 标签:pandas python 累积 最大值