use*_*196 73 python max python-2.7 pandas
data = {'name' : ['bill', 'joe', 'steve'],
'test1' : [85, 75, 85],
'test2' : [35, 45, 83],
'test3' : [51, 61, 45]}
frame = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)
我想添加一个新列,显示每行的最大值.
期望的输出:
name test1 test2 test3 HighScore
bill 75 75 85 85
joe 35 45 83 83
steve 51 61 45 61
Run Code Online (Sandbox Code Playgroud)
有时
frame['HighScore'] = max(data['test1'], data['test2'], data['test3'])
Run Code Online (Sandbox Code Playgroud)
有效,但大多数时候会出现此错误:
ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()
为什么它有时只能起作用?还有另一种方法吗?
Rom*_*kar 112
>>> 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
Run Code Online (Sandbox Code Playgroud)
alk*_*lko 14
>>> frame['HighScore'] = frame[['test1','test2','test3']].apply(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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
83492 次 |
最近记录: |