【问题标题】:How to groupby and aggregate joining values as a string [duplicate]如何将连接值分组并聚合为字符串[重复]
【发布时间】:2021-01-22 21:17:41
【问题描述】:

我有一个结构如下的数据框:

df_have = pd.DataFrame({'id':[1,1,2,3,4,4], 'desc':['yes','no','chair','bird','person','car']})

我怎样才能得到这样的东西:

df_want = pd.DataFrame({'id':[1,2,3,4], 'desc':['yes no','chair','bird','person car']})

【问题讨论】:

    标签: python pandas dataframe pandas-groupby


    【解决方案1】:

    使用groupby().apply:

    df_have.groupby('id', as_index=False)['desc'].apply(' '.join)
    

    输出:

       id        desc
    0   1      yes no
    1   2       chair
    2   3        bird
    3   4  person car
    

    【讨论】:

      【解决方案2】:

      我会和groupby一起做agg

      df = df_have.groupby('id',as_index=False)[['desc']].agg(' '.join)
         id        desc
      0   1      yes no
      1   2       chair
      2   3        bird
      3   4  person car
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-20
        • 2013-05-11
        • 2013-06-23
        • 1970-01-01
        • 2021-10-05
        相关资源
        最近更新 更多