【问题标题】:find highest value in group, and add value of other column to a new row in python pandas查找组中的最大值,并将其他列的值添加到 python pandas 中的新行
【发布时间】:2022-11-12 22:02:15
【问题描述】:

我有桌子:

person score Job type
person 1 6.5 job 1
person 1 4.3 job 2
person 2 1.2 job 1
person 2 3.4 job 2
person 2 4.3 job 3

我想添加一个工作类型的列,得分最高,如下所示:

person score Job type Higest score
person 1 6.5 job 1 job 1
person 1 4.3 job 2 job 1
person 2 1.2 job 1 job 3
person 2 3.4 job 2 job 3
person 3 4.3 job 3 job 3

知道如何实现这一目标吗?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    您可以使用:

    mask=df.sort_values('score').groupby('person').tail(1).rename(columns={'Job type':'Higest_score'})
    
    final=df.merge(mask[['person','Higest_score']],how='left')
    final
    '''
        person      score   Job type    Higest_score
    0   person 1    6.5     job 1       job 1
    1   person 1    4.3     job 2       job 1
    2   person 2    1.2     job 1       job 3
    3   person 2    3.4     job 2       job 3
    4   person 2    4.3     job 3       job 3
    
    '''
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2016-06-08
      相关资源
      最近更新 更多