如何将连接值分组并聚合为字符串[重复]

Posted

技术标签:

【中文标题】如何将连接值分组并聚合为字符串[重复]【英文标题】: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'])

【问题讨论】:

【参考方案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

【讨论】:

以上是关于如何将连接值分组并聚合为字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

按唯一标识符聚合并将相关值连接成一个字符串[重复]

在 Pandas 中取消聚合字符串值字段 [重复]

SqlServer函数的聚合函数

如何分组聚合最小值/最大值并绘制分组条形图

Clojure HoneySQL - 如何在连接后将字符串值聚合到单行中?

mysql聚合函数