如何获得pandas数据帧列中由逗号分隔的值的频率计数?

2024-09-29 01:28:02 发布

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

假设我正在尝试创建一些stackoverflow元数据的count向量(实际上不是我所做的,而是类似的)。所以数据帧可能是这样的:

question:    description:      tags:
Q1           desc1             java, android
Q2           desc2             python, machine learning
Q3           desc3             javascript, Node.js

如果我想用每个单独的标签而不是标签的组合来创建频率计数,我该怎么做?在

我知道我可以使用df.groupby('tags').count(),但这只考虑java, android是它自己的类别,而不是考虑{}是一个类别,`android是一个单独的类别。在


Tags: 数据counttags标签descriptionjava类别stackoverflow
1条回答
网友
1楼 · 发布于 2024-09-29 01:28:02

您可以使用^{}by regex ,s\+表示带有一个或多个空格的逗号,然后按^{}创建{},最后一次按^{}获取计数:

out = df['tags'].str.split(',\s+', expand=True).stack().value_counts()
print (out)
python              1
javascript          1
machine learning    1
java                1
android             1
Node.js             1
dtype: int64

相关问题 更多 >