Python 如何统计列中使用的前三名单词并将结果存储在字典中

Python 如何统计列中使用的前三名单词并将结果存储在字典中,python,pandas,Python,Pandas,我目前有这样一个数据帧: column_1: column_2: column_3: pizza beer nice, excellent, good pasta beer good, nice, great pizza wine great, nice fish coffee ok 我正在尝试获取第3列中出现的前3个单词,并将它们存储到字典中 我的预期产出:

我目前有这样一个数据帧:

column_1:   column_2:    column_3:
  pizza       beer         nice, excellent, good
  pasta       beer         good, nice, great
  pizza       wine         great, nice
  fish        coffee       ok
我正在尝试获取第3列中出现的前3个单词,并将它们存储到字典中

我的预期产出:

{ 'nice': 3,
  'good': 2,
  'great':2 }
最好的方法是什么?或者甚至有可能吗


非常感谢您的帮助。

使用
get\u dummies
+
nlargest

d=df['column_3:'].str.get_dummies(',').sum().nlargest(3).to_dict()
d
Out[225]: {'good': 2, 'great': 2, 'nice': 3}
您可以使用,从第三列的
n
最常见的
字符串中获得一个平面列表:

from collections import Counter

l = df['column_3:'].str.cat(sep=',').split(',')
# ['nice', 'excellent', 'good', 'good', 'nice', 'great', 'great', 'nice', 'ok']
dict(Counter(l).most_common(3))
# {'nice': 3, 'good': 2, 'great': 2}