
python 分词后怎么词频
用户关注问题
如何统计Python分词后的词频?
我用Python对文本进行了分词,接下来想知道每个词出现的频率,应该怎么操作?
使用Counter统计词频
在Python中,可以使用collections模块中的Counter类来统计词频。先将分词结果放入一个列表,然后使用Counter,示例代码如下:
from collections import Counter
words = ['我', '喜欢', '学习', 'Python', '学习', 'Python']
word_freq = Counter(words)
print(word_freq)
这样就能得到每个词出现的次数。
有哪些Python库可以辅助进行分词后的词频统计?
在Python中进行分词后,想用库来帮忙统计词频,有哪些推荐?
推荐使用jieba和NLTK等库结合Counter
jieba 是中文分词常用库,NLTK则适合英文文本。分词后可将结果传入Counter统计词频。例如:
import jieba
from collections import Counter
text = '我喜欢学习Python。'
words = jieba.lcut(text)
word_freq = Counter(words)
print(word_freq)
NLTK的方式类似,适用于英文文本。
如何对分词结果的词频进行排序?
我想输出分词后的词频统计结果,且按照词频高低排序,该怎么做?
利用Counter的most_common方法排序
Counter对象提供了most_common()方法,可以返回按频率排序的词频列表。示例:
from collections import Counter
words = ['我', '喜欢', '我', '学习', 'Python']
word_freq = Counter(words)
sorted_freq = word_freq.most_common()
print(sorted_freq)
输出结果为频率从高到低的词及其出现次数。