9

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

谢谢

[输入图片描述 [1]

4

2 回答 2

26

您可以在以下join之后申请您的专栏groupby

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
于 2016-06-30T15:17:56.047 回答
9

如果您想节省更多墨水,则无需使用,.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})
于 2019-07-18T23:50:20.487 回答