在Python中从数据框的行获取最大值

31

以下是我的数据框 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

我正在尝试从数据框的每一行获取最大值,我期望的输出如下:
max_value
   2
  3.2
  8.8
  7.8 

这是我尝试过的内容

df[len(df.columns)].argmax()

我没有得到正确的输出,非常感谢帮助。谢谢。

2个回答

84

使用 max 函数,设定参数 axis=1:

df = df.max(axis=1)
print (df)
0    2.0
1    3.2
2    8.8
3    7.8
dtype: float64

如果需要新的列:

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

6
你可以使用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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接