パンダ: 複数の列の最大値を見つける方法


次のメソッドを使用して、pandas DataFrame の複数の列にわたる最大値を見つけることができます。

方法 1: 複数の列の最大値を見つける

 df[[' col1 ', ' col2 ', ' col3 ']]. max (axis= 1 )

方法 2: 複数の列の最大値を含む新しい列を追加する

 df[' new_col '] = df[[' col1 ', ' col2 ', ' col3 ']]. max (axis= 1 )

次の例は、次の pandas DataFrame でこれらの各メソッドを実際に使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                   ' points ': [28, 17, 19, 14, 23, 26, 5],
                   ' rebounds ': [5, 6, 4, 7, 14, 12, 9],
                   ' assists ': [10, 13, 7, 8, 4, 5, 8]})

#view DataFrame
print (df)

  player points rebound assists
0 to 28 5 10
1 B 17 6 13
2 C 19 4 7
3 D 14 7 8
4 E 23 14 4
5 F 26 12 5
6 G 5 9 8

例 1: 複数の列にわたる最大値を検索する

次のコードは、ポイント列とリバウンド列の各行の最大値を見つける方法を示しています。

 #find max value across points and rebounds columns
df[[' points ', ' rebounds ']]. max (axis= 1 )

0 28
1 17
2 19
3 14
4 23
5 26
6 9
dtype: int64

結果を解釈する方法は次のとおりです。

  • 最初の行のポイントとリバウンドの列の最大値は28でした。
  • 2 行目のポイントとリバウンドの列の最大値は17でした。
  • 3 行目のポイントとリバウンドの列の最大値は19でした。

等々。

例 2: 複数の列の最大値を含む新しい列を追加する

次のコードは、ポイント列とバウンス列の各行の最大値を含む新しい列を DataFrame に追加する方法を示しています。

 #add new column that contains max value across points and rebounds columns
df[' max_points_rebs '] = df[[' points ', ' rebounds ']]. max (axis= 1 )

#view updated DataFrame
print (df)

  player points rebounds assists max_points_rebs
0 A 28 5 10 28
1 B 17 6 13 17
2 C 19 4 7 19
3 D 14 7 8 14
4 E 23 14 4 23
5 F 26 12 5 26
6 G 5 9 8 9

max_points_rebsというタイトルの新しい列には、DataFrame の各行のポイントおよびバウンス列の最大値が含まれるようになりました。

追加リソース

次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。

パンダ: DataFrame の前に列を移動する方法
パンダ: 列に文字列が含まれているかどうかを確認する方法
パンダ: DataFrame に空の列を追加する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です