Pandas で idxmax() 関数を使用する方法 (例付き)
pandas.DataFrame.idxmax()関数を使用すると、pandas DataFrame の指定された軸の最大値のインデックスを返すことができます。
この関数は次の構文を使用します。
DataFrame.idxmax(axis=0、skipna=True)
金:
- axis : 使用する軸 (0 = 行、1 = 列)。デフォルト値は 0 です。
- Skipna : NA または null 値を除外するかどうか。デフォルトは True です。
次の例は、実際に次の pandas DataFrame でこの関数を使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({'points': [25, 12, 15, 8, 9, 23], 'assists': [5, 7, 7, 9, 12, 9], 'rebounds': [11, 8, 11, 6, 6, 5]}, index=['Andy','Bob', 'Chad', 'Dan', 'Eric', 'Frank']) #view DataFrame df points assists rebounds Andy 25 5 11 Bob 12 7 8 Chad 15 7 11 Dan 8 9 6 Eric 9 12 6 Frank 23 9 5
例 1: 各列の最大値を持つインデックスを検索する
次のコードは、各列の最大値を持つインデックスを検索する方法を示しています。
#find index that has max value for each column df. idxmax (axis= 0 ) Andy points assists Eric rebounds Andy dtype:object
結果から次のことがわかります。
- ポイント列の最高値を持つプレーヤーはアンディです。
- アシスト欄の最高値を持つ選手はエリックです。
- リバウンド欄の最高値を持つ選手はアンディです。
idxmax() 関数は最初に出現した最大値を返すことに注意することが重要です。
たとえば、アンディとチャドは両方とも 11 リバウンドを記録したことに注目してください。 Andy が DataFrame で最初に出現するため、彼の名前が返されます。
例 2: 各行の最大値を持つ列を検索します。
次のコードは、各行の最大値を含む列を検索する方法を示しています。
#find column that has max value for each row df. idxmax (axis= 1 ) Andy points Bob stitches Chad points Dan assists Eric assists Frank points dtype:object
結果から次のことがわかります。
- 「Andy」というラベルの付いた行の最高値がポイント列に表示されます。
- 「Bob」というラベルの付いた行の最高値がポイント列に表示されます。
- 「Chad」というラベルの付いた行の最高値がポイント列に表示されます。
- 「Dan」というラベルの付いた行の最高値がアシスト列に表示されます。
- 「エリック」というラベルの付いた行の最高値がアシスト列に表示されます。
- 「Andy」というラベルの付いた行の最高値がポイント列に表示されます。
idxmax() 関数の完全な説明については、 pandas のドキュメントを参照してください。
追加リソース
Pandasで列の最大値を見つける方法
Pandas で列の平均を計算する方法
Pandasで列の合計を計算する方法