1. ホーム
  2. python

[解決済み] Python Pandasは選択された列の行ごとの最大値を表す列を追加する [重複] 。

2023-06-22 11:28:41

質問

data = {'name' : ['bill', 'joe', 'steve'],
    'test1' : [85, 75, 85],
    'test2' : [35, 45, 83],
     'test3' : [51, 61, 45]}
frame = pd.DataFrame(data)

各行の最大値を表示する新しいカラムを追加したいです。

希望する出力

 name test1 test2 test3 HighScore
 bill  75    75    85    85
 joe   35    45    83    83 
 steve  51   61    45    61 

時々

frame['HighScore'] = max(data['test1'], data['test2'], data['test3'])

は動作しますが、ほとんどの場合このエラーが発生します。

ValueError: 複数の要素を持つ配列の真偽値は曖昧です。a.any()またはa.all()を使ってください。

なぜ時々しか動作しないのでしょうか? 他の方法はないのでしょうか?

どのように解決するのですか?

>>> frame['HighScore'] = frame[['test1','test2','test3']].max(axis=1)
>>> frame
    name  test1  test2  test3  HighScore
0   bill     85     35     51         85
1    joe     75     45     61         75
2  steve     85     83     45         85