单词统计
在分析数据过程中,单词统计应用很广,尤其是提取海量文本中出现最多次数的词,往往可以进行舆论,热点等分析,应用非常广泛.
下面将针对一个文本进行单词热词统计,其中列出多种求解过程,一起交流学习,欢迎下下方留言讨论.
文本素材
链接:https://pan.baidu.com/s/1cpbZVl3x_sCHeMWDbicOhA
提取码:g9qr
源码分析
方法一 —最基本方法
from pathlib import Path # 导入Path 模块
from collections import defaultdict
basedir = Path('d:homework/answer/third/')
filename = basedir/'sample.txt'
# d = {}
d = defaultdict(lambda :0) # defaultdict ()内部需要的是一个函数
# 不存在则返回一个value 为0 的键值对
with open(filename,encoding= 'utf-8')as f :
for line in f : # 安行读取
words = line.split()# 分割字符串
# for word in words:
for word in map(lambda x:x.lower(),words): # 使用map函数将单词转化为小写
d[word]=d.get(word,0)+1
print(sorted(d.items(),key = lambda x:x[1],reverse= True)) # 对字典元素进行排序,但是排序的关键词是value值
# 提取字典中所有含有path的键,这样就可以看出所以含有目标值的键,便于接下来的分割
print(ilter (lambda key :key.find('path')> -1,d.keys()))
方法二 —简单优化
from pathlib import Path
from collections import defaultdict
basedir = Path('d:homework/answer/third/')
filename =