我有一个如下数据框。列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
有人知道我能做到吗?谢谢。
答案 0 :(得分:2)
您可以Ctrl+Click
拆分单词的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()