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)