如何按pandas数据帧列中的前2个单词分组并计数?

2024-10-04 11:27:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,看起来像这样:

dfx = pd.DataFrame({'id' : ['blue apple werewolf', 'blue apple cat',
'yellow tangerine','blue apple dog', 'orange dog nectarine','black', 'green apple cat'] })

我想按id列中每行的前2个单词分组,并返回以这两个单词开头的项的计数。如果一个列值没有2个字,它应该只计算第一个字。在

因此,生成的数据帧应该如下所示:

^{pr2}$

有什么帮助吗?在


Tags: 数据idappledataframeblue单词catpd
1条回答
网友
1楼 · 发布于 2024-10-04 11:27:02

您应该能够使用extract获取它:

dfx = pd.DataFrame({'id' : ['blue apple werewolf', 'blue apple cat',
'yellow tangerine','blue apple dog', 'orange dog nectarine','black', 'green apple cat'] })

dfx.groupby(dfx.id.str.extract('([^\ ]+[\ ]*[^\ ]*)',expand=False)).count().sort_values('id',ascending =False).rename(columns={'id':'COUNT'}).reset_index()

相关问题 更多 >