从python中的数据帧行获取最大值

dee*_*esh 13 python max dataframe pandas

这是我的数据帧df

a     b     c
1.2   2    0.1
2.1   1.1  3.2
0.2   1.9  8.8
3.3   7.8  0.12
Run Code Online (Sandbox Code Playgroud)

我试图从数据帧的每一行获得最大值,我期待这样的输出

max_value
   2
  3.2
  8.8
  7.8 
Run Code Online (Sandbox Code Playgroud)

这就是我尝试过的

df[len(df.columns)].argmax()
Run Code Online (Sandbox Code Playgroud)

我没有得到正确的输出,任何帮助将非常感激.谢谢

jez*_*ael 43

使用maxaxis=1:

df = df.max(axis=1)
print (df)
0    2.0
1    3.2
2    8.8
3    7.8
dtype: float64
Run Code Online (Sandbox Code Playgroud)

如果需要新专栏:

df['max_value'] = df.max(axis=1)
print (df)
     a    b     c  max_value
0  1.2  2.0  0.10        2.0
1  2.1  1.1  3.20        3.2
2  0.2  1.9  8.80        8.8
3  3.3  7.8  0.12        7.8
Run Code Online (Sandbox Code Playgroud)

  • 请不要滥用你的权力.在明显的欺骗上发布答案是一回事,但重新打开明显的欺骗是一个全新的权力滥用水平. (6认同)
  • 如果问题是选择了一个糟糕的欺骗,您可以随时编辑欺骗列表并选择正确的.(如果你知道自己已经[回答](/sf/answers/2900762931/),那么找到欺骗会更容易 (2认同)

piR*_*red 5

你可以用 numpy

df.assign(max_value=df.values.max(1))

     a    b     c  max_value
0  1.2  2.0  0.10        2.0
1  2.1  1.1  3.20        3.2
2  0.2  1.9  8.80        8.8
3  3.3  7.8  0.12        7.8
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

44269 次

最近记录:

8 年,9 月 前