use*_*574 0 python grouping pandas
我目前在顶部有数据框.有没有办法使用groupby函数来获取另一个数据帧来对数据进行分组,并使用python pandas将这些单词连接成下面的格式?
谢谢
[![输入图像描述[1]](https://i.stack.imgur.com/ffFpH.png)
EdC*_*ica 10
您可以join在以下情况后申请您的专栏groupby:
df.groupby('index')['words'].apply(','.join)
Run Code Online (Sandbox Code Playgroud)
例:
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
Run Code Online (Sandbox Code Playgroud)
如果您想节省更多墨水,则无需使用,.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})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7193 次 |
| 最近记录: |