赞
踩
本次代码基于用python实现英文词频统计,重复部分不再赘述。
具体参考如下链接的方法
Python安装jieba库的具体步骤
我把下载的文件解压到了桌面,如下是我的操作
1.要注意与英文的区别,英文里要把标点替换成空格,中文里要把标点删去,而不是换成空格。为什么不用remove?因为remove只是换掉第一个出现的标点。所以还是采用replace。
2.在对列表循环的过程中执行remove操作,会产生问题。所以,在去除单个字的词的时候,我们新建了一个列表。而不是在原列表中移除单个字的词。
try_list = [1,2,1,1,3,4,1,21,1,1]
for i in try_list:
if i == 1:
try_list.remove(i)
print(try_list)
#1并没有删完
#[2, 3, 4, 21, 1, 1]
若要进一步探究原因,可访问如下链接
python中remove的一些坑
import jieba #获得去除标点的文本 def get_text(file_name): with open(file_name, 'r', encoding='utf-8') as fr: text = fr.read() #要删除的标点 del_ch = ['《',',','》','\n','。','、',';','"',\ ':',',','!','?',' '] for ch in del_ch: text = text.replace(ch,'')#这里无需替换成空格 return text #文件名改为要分析的文件 file_name = 'threekingdoms.txt' text = get_text(file_name) vlist = jieba.lcut(text)#调用jieba实现分词,返回列表 res_dict = {} #进行词频统计 for i in vlist: res_dict[i] = res_dict.get(i,0) + 1 res_list = list(res_dict.items()) #降序排序 res_list.sort(key = lambda x:x[1], reverse = True) fin_res_list = [] #去除单个字的词 for item in res_list: if(len(item[0])>=2): fin_res_list.append(item) for i in range(100): word,count = fin_res_list[i] pstr = str(i+1) + ':' print(pstr, end=' ') print(word,count)
在最后的处理有所不同,这个主要是受老师的启发
import jieba #获得去除标点的文本 def get_text(file_name): with open(file_name, 'r', encoding='utf-8') as fr: text = fr.read() #要删除的标点 del_ch = ['《',',','》','\n','。','、',';','"',\ ':',',','!','?',' '] for ch in del_ch: text = text.replace(ch,'')#这里无需替换成空格 return text #文件名改为要分析的文件 file_name = 'threekingdoms.txt' text = get_text(file_name) vlist = jieba.lcut(text)#调用jieba实现分词,返回列表 res_dict = {} exclude = ['却说','不能','如何','左右','二人','不可',\ '荆州','如此','商议','主公','军士'] #进行词频统计 for i in vlist: if len(i)<=1: continue elif i in exclude: continue elif i == '玄德曰': ri = '玄德' elif i == '孔明曰': ri = '诸葛亮' elif i == '孔明': ri = '诸葛亮' else: ri = i res_dict[ri] = res_dict.get(ri,0) + 1 res_list = list(res_dict.items()) #降序排序 res_list.sort(key = lambda x:x[1], reverse = True) for i in range(10): word,count = res_list[i] pstr = str(i+1) + ':' print(pstr, end=' ') print(word,count)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。