【问题标题】:Get max value from row of a dataframe in python [duplicate]从python中的数据框行获取最大值[重复]
【发布时间】:2017-11-02 05:10:52
【问题描述】:

这是我的数据框 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()

我没有得到正确的输出,任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: python pandas dataframe max


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      maxaxis=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
      

      【讨论】:

      • 如果问题是选择了错误的欺骗,您可以随时编辑欺骗列表并选择正确的。 (如果你知道自己是answered it,就更容易找到骗子)
      • @BhargavRao - 对不起,过失。 :(
      • 嗨,如果我想对 groupby 对象执行此操作,该怎么办?假设我正在执行 Merger.groupby('Search_Term'),我该如何应用最大值,以便从我的数据框中为每个 groupby 项提取 2 个特定列中的最大值?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2019-12-23
      相关资源
      最近更新 更多