我有一个带有标记化字符串/单词的数据框。这是它的样子。 (我基本上是在读取xlsx文件,然后通过删除停用词,标点符号等对文本进行规范化。)
0 [apple, orange, banana...]
1 [banana, apple, date..]
2 [banana, apple, orange...]
现在,我正在尝试使用以下代码绘制10个最常用单词的图。
counter = Counter(above_datafarme)
data_words = counter.keys()
words_counts = counter.values()
indexes = np.arange(len(data_words))
width = 0.7
plt.bar(indexes, words_counts, width)
plt.xticks(indexes + width * 0.5, data_words)
plt.show()
但是,这只会引发无法散列的类型:“列表”错误。
如果我使用to_string函数将数据框转换为字符串,它将创建一个绘图,但仅包含字母。我该如何解决?
counter = Counter(above_datafarme.to_string())
data_words = counter.keys()
words_counts = counter.values()
indexes = np.arange(len(data_words))
width = 0.7
plt.bar(indexes, words_counts, width)
plt.xticks(indexes + width * 0.5, data_words)
plt.show()
忘记添加。如何仅针对10个最常见的单词自定义上面的代码?
编辑。 我尝试了nltk FreqDist和相同的结果。它只是绘制字母。