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}