【问题标题】:How to use groupby to concatenate strings in python pandas?如何使用 groupby 在 python pandas 中连接字符串?
【发布时间】:2022-03-01 01:00:56
【问题描述】:

我目前在顶部有数据框。有没有办法使用 groupby 函数来获取另一个数据框来对数据进行分组并将单词连接成下面使用 python pandas 的格式?

谢谢

[

【问题讨论】:

标签: python pandas pandas-groupby


【解决方案1】:

您可以在groupby之后的列上申请join

df.groupby('index')['words'].apply(','.join)

例子:

In [326]:
df = pd.DataFrame({'id':['a','a','b','c','c'], 'words':['asd','rtr','s','rrtttt','dsfd']})
df

Out[326]:
  id   words
0  a     asd
1  a     rtr
2  b       s
3  c  rrtttt
4  c    dsfd

In [327]:
df.groupby('id')['words'].apply(','.join)

Out[327]:
id
a        asd,rtr
b              s
c    rrtttt,dsfd
Name: words, dtype: object

【讨论】:

    【解决方案2】:

    如果你想节省更多的墨水,你不需要使用.apply(),因为.agg()可以带一个函数应用到每个组:

    df.groupby('id')['words'].agg(','.join)

    # this way you can add multiple columns and different aggregates as needed.
    df.groupby('id').agg({'words': ','.join})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-02
      相关资源
      最近更新 更多