计算字符串列中单词的出现次数

2024-06-03 00:31:27 发布

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

我有一个如下的数据帧。列words的每一行包含一个或多个由;分隔的单词

import pandas as pd
import numpy as np
dfm = pd.DataFrame({'id': np.arange(5), 'words': ['apple;pear;orange', 'apple', 'pear;grape', 'orange', 'orange;pear']})

我要数一数这些词的出现次数。以下是我需要的输出:

    word    count
0   apple   2
1   pear    3
2   orange  3
3   grape   1

有人知道我怎样才能做到吗?谢谢


Tags: 数据importnumpyappledataframepandasasnp
1条回答
网友
1楼 · 发布于 2024-06-03 00:31:27

您可以value_counts()拆分单词的explode(),例如:

In []:
dfm.words.str.split(';').explode().value_counts()

Out[]:
orange    3
pear      3
apple     2
grape     1
Name: words, dtype: int64

或者可以使用groupby()不按值排序,这会给出要查找的输出:

In []:
words = dfm.words.str.split(';').explode()
words.groupby(words).count().to_frame('count').reset_index()

Out[]:
    words  count
0   apple      2
1   grape      1
2  orange      3
3    pear      3

相关问题 更多 >