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