pandas.DataFrame.cummax 函数在 Python 中用于计算 DataFrame 中元素的累积最大值。它返回一个新的 DataFrame,其中每个元素是当前元素及其之前的所有元素的最大值。本文主要介绍一下Pandas中pandas.DataFrame.cummax方法的使用。

DataFrame.cummax(axis=None, skipna=True, *args, **kwargs)

[source]

返回一个DataFrame或Series轴上的累积最大值。

返回包含累积最大值的相同大小的DataFrame或Series。

参数:

axis : {0 或 ‘index’, 1 或 ‘columns’}, 默认 0

索引或轴的名称。0等于None或' index '。

skipna : boolean, 默认 True

排除NA/null值。如果整个行/列是NA,那么结果将是NA。

*args, **kwargs :

附加关键字没有效果,但是可以接受与NumPy兼容。

返回:

cummax : Series 或 DataFrame

例子

1)沿着行方向计算累积最大值

import pandas as pd

# 创建一个示例 DataFrame
data = {
    'A': [3, 2, 5, 1],
    'B': [1, 4, 2, 3],
    'C': [5, 3, 6, 4]
}

df = pd.DataFrame(data)
print("原始 DataFrame:")
print(df)

# 计算累积最大值
cummax_df = df.cummax()
print("\n沿着行方向的累积最大值:")
print(cummax_df)

2)沿着列方向计算累积最大值

import pandas as pd

# 创建一个示例 DataFrame
data = {
    'A': [3, 2, 5, 1],
    'B': [1, 4, 2, 3],
    'C': [5, 3, 6, 4]
}

df = pd.DataFrame(data)
print("原始 DataFrame:")
print(df)

# 沿着列方向计算累积最大值
cummax_df_axis1 = df.cummax(axis=1)
print("\n沿着列方向的累积最大值:")
print(cummax_df_axis1)

3)Series 的 cummax 方法

import pandas as pd
import numpy as np

# 创建一个包含 NaN 的 Series
s = pd.Series([2, np.nan, 5, -1, 0])
print("原始 Series:")
print(s)

# 默认情况下,计算累积最大值,忽略 NA 值
print("\n累积最大值(忽略 NA 值):")
print(s.cummax())

# 在计算累积最大值时,不忽略 NA 值
print("\n累积最大值(不忽略 NA 值):")
print(s.cummax(skipna=False))

4)DataFrame 的 cummax 方法

# 创建一个包含 NaN 的 DataFrame
df = pd.DataFrame([[2.0, 1.0],
                   [3.0, np.nan],
                   [1.0, 0.0]],
                  columns=list('AB'))
print("原始 DataFrame:")
print(df)

# 沿着行方向计算累积最大值(默认 axis=0)
print("\n沿着行方向的累积最大值:")
print(df.cummax())

# 沿着列方向计算累积最大值
print("\n沿着列方向的累积最大值:")
print(df.cummax(axis=1))

推荐文档

相关文档

大家感兴趣的内容

随机列表