DataFrame.idxmax(self, axis=0, skipna=True) [source]
返回在请求轴上第一次出现最大值的索引。不包括NA/null
。
参数: | axis : { 默认 行为 skipna : boolean,默认为True 排除 则结果为 |
返回值: | Series 沿指定轴的最大值索引。 |
Raises: | ValueError 如果行/列为空 |
Notes
此方法是的DataFrame
版本ndarray.argmax
。
例子
1)按列查找最大值的索引
import pandas as pd
# 创建DataFrame
data = {
'A': [1, 4, 3],
'B': [2, 3, 6],
'C': [5, 1, 9]
}
df = pd.DataFrame(data)
# 打印DataFrame
print("DataFrame:")
print(df)
# 使用 idxmax() 找每列最大值的索引
max_index = df.idxmax(axis=0)
print("\n每列最大值的索引:")
print(max_index)
2)按行查找最大值的索引
import pandas as pd
# 创建DataFrame
data = {
'A': [1, 4, 3],
'B': [2, 3, 6],
'C': [5, 1, 9]
}
df = pd.DataFrame(data)
# 打印DataFrame
print("DataFrame:")
print(df)
max_index_row = df.idxmax(axis=1)
print("\n每行最大值的索引:")
print(max_index_row)
3)处理缺失值(skipna=False
)
import pandas as pd
# 添加 NaN 值
data_with_nan = {
'A': [1, None, 3],
'B': [2, 3, 6],
'C': [None, 1, 9]
}
df_nan = pd.DataFrame(data_with_nan)
print("带NaN的DataFrame:")
print(df_nan)
# skipna=False,包含NaN时返回NaN
max_index_nan = df_nan.idxmax(axis=0, skipna=False)
print("\nskipna=False时最大值的索引:")
print(max_index_nan)