【发布时间】:2022-03-01 01:00:56
【问题描述】:
我目前在顶部有数据框。有没有办法使用 groupby 函数来获取另一个数据框来对数据进行分组并将单词连接成下面使用 python pandas 的格式?
谢谢
[
【问题讨论】:
-
这里也有类似的问题:stackoverflow.com/questions/17841149/…
标签: python pandas pandas-groupby
我目前在顶部有数据框。有没有办法使用 groupby 函数来获取另一个数据框来对数据进行分组并将单词连接成下面使用 python pandas 的格式?
谢谢
[
【问题讨论】:
标签: python pandas pandas-groupby
您可以在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
【讨论】:
如果你想节省更多的墨水,你不需要使用.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})
【讨论】: