我有一个CSV数据文件,其中包含希伯来语中满意度答案的“注释”列。
我想要找出最流行的单词和流行的“2个单词组合”,它们出现的次数,并将它们绘制在条形图上。
目前我的代码:
PYTHONIOENCODING="UTF-8"
df= pd.read_csv('keep.csv', encoding='utf-8' , usecols=['notes'])
words= df.notes.str.split(expand=True).stack().value_counts()
这将生成一个带有计数器的单词列表,但考虑到希伯来语中的所有停用词,并且不生成“2个单词组合”的频率。我也尝试过这段代码,但它不是我要找的。
top_N = 30
txt = df.notes.str.lower().str.replace(r'\|', ' ').str.cat(sep=' ')
words = nltk.tokenize.word_tokenize(txt)
word_dist = nltk.FreqDist(words)
rslt = pd.DataFrame(word_dist.most_common(top_N),
columns=['Word', 'Frequency'])
print(rslt)
print('=' * 60)
我该如何使用nltk完成这个任务?