pandas.DataFrame.max() 函数是 Pandas 库中用于查找 DataFrame 对象中最大值的强大工具。它可以沿指定的轴查找最大值,并且具有处理缺失值和数值数据的选项。如果 DataFrame 中包含非数值列,并且 numeric_only 为 False 或 None,则非数值列的最大值将根据其数据类型进行比较。当DataFrame中,有字符串的时候,max函数,会按照字符串的排序规则来执行。当在有NaN的值的列或者行中,使用max函数,如果skipna=False,那结果也为NaN。本文主要介绍一下Pandas中pandas.DataFrame.max方法的使用。

DataFrame.max(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)      [source]

返回所请求轴的最大值。

如果您想要最大的索引,请使用idxmax。这相当于该numpy.ndarray方法argmax

参数:       

axis:{index (0), columns (1)}

要应用的功能的轴。

skipna:bool,默认为True

计算结果时排除NA/null值。

levelint或级别名称,

默认为None

如果轴是MultiIndex(分层),

则沿特定级别计数,并折叠为Series。

numeric_onlybool

默认值None

仅包括floatintboolean列。

如果为None,将尝试使用所有内容,

然后仅使用数字数据。未针对Series实施。

**kwargs

要传递给函数的其他关键字参数。

返回:

SeriesDataFrame(如果指定level)

例子

1)按列计算最大值

import pandas as pd

df = pd.DataFrame({
    'A': [3, 6, 2],
    'B': [8, 5, 9],
    'C': [1, 4, 7]
})

print(df.max())  # 默认 axis=0

2)按行计算最大值

import pandas as pd

# 创建示例 DataFrame
data = {
    'A': [10, 20, 30],
    'B': [5, 25, 35],
    'C': [15, 10, 40]
}

df = pd.DataFrame(data)

# 计算每一行的最大值
row_max = df.max(axis=1)

# 输出结果
print("原始 DataFrame:")
print(df)
print("\n每一行的最大值:")
print(row_max)

3)忽略 NaN 计算最大值

import pandas as pd

# 创建包含 NaN 的 DataFrame
df_with_nan = pd.DataFrame({
    'A': [3, 6, None],
    'B': [8, None, 9],
    'C': [1, 4, 7]
})

# 默认 skipna=True,忽略 NaN,计算最大值
print("默认 skipna=True:")
print(df_with_nan.max())

# skipna=False,不忽略 NaN,若列包含 NaN,则结果为 NaN
print("\nskipna=False:")
print(df_with_nan.max(skipna=False))

4)仅计算数值列的最大值

import pandas as pd

# 创建包含数值和字符串的 DataFrame
df_mixed = pd.DataFrame({
    'A': [3, 6, 2],   # 数值列
    'B': ['x', 'y', 'z'],  # 字符串列
    'C': [1, 4, 7]    # 数值列
})

# 仅计算数值列的最大值
print(df_mixed.max(numeric_only=True))

推荐文档

相关文档

大家感兴趣的内容

随机列表