如何使用groupby连接pythonpandas中的字符串?
How to use groupby to concatenate strings in python pandas?
我目前在顶部有数据框。有没有一种方法可以使用 groupby 函数获取另一个数据帧来对数据进行分组并将单词连接成格式,如下所示使用 python pandas?
谢谢
[
您可以在 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})
我目前在顶部有数据框。有没有一种方法可以使用 groupby 函数获取另一个数据帧来对数据进行分组并将单词连接成格式,如下所示使用 python pandas?
谢谢
[
您可以在 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})