综合练习:词频统计

1.英文词频统

下载一首英文的歌词或文章

将所有,.?!’:等分隔符全部替换为空格

将所有大写转换为小写

生成单词列表

生成词频统计

排序

排除语法型词汇,代词、冠词、连词

输出词频最大TOP20

1.英文词频统

下载一首英文的歌词或文章

将所有,.?!’:等分隔符全部替换为空格

将所有大写转换为小写

生成单词列表

生成词频统计

排序

排除语法型词汇,代词、冠词、连词

输出词频最大TOP20

f=open('sugar.txt','r')
news=f.read()
f.close()
sep=''',.'!"?:'''
exclude={'the','a','an','to','be','i','so','over',}
for c in sep:
   news=news.replace(c,'')
   wordList=news.lower().split()
wordDict={}
wordSet=set(wordList)-exclude
for w in wordSet:
    wordDict[w]=wordList.count(w)
for w in wordDict:
      print(w,wordDict[w])

      dic = sorted(wordDict.items(), key=lambda d: d[1], reverse=True)
      print(dic)
      for i in range(20):
          print(dic[i])

  

2.中文词频统计

下载一长篇中文文章。

从文件读取待分析文本。

news = open('gzccnews.txt','r',encoding = 'utf-8')

安装与使用jieba进行中文分词。

pip install jieba

import jieba

list(jieba.lcut(news))

生成词频统计

排序

排除语法型词汇,代词、冠词、连词

输出词频最大TOP20(或把结果存放到文件里)

import jieba
n= open('news.txt','r',encoding='UTF-8')
news=n.read()
n.close()
news = list(jieba.cut(news))
s= {"","","","","",""," ","","","","ufeff","
","u3000"}
newsset=set(news)-s
exclude={'','','','','','',''}
newsset=newsset-exclude
strdict = {}
# 通过遍历列表创建字典
for i in newsset:
    strdict[i] = news.count(i)
dictlist = list(strdict.items())
dictlist.sort(key=lambda x: x[1], reverse=True)
f = open('newscount.txt', 'a')
for i in range(20):
    f.write(dictlist[i][0] + ' ' + str(dictlist[i][1]) + '
')
f.close()
原文地址:https://www.cnblogs.com/lmq757036131/p/8658936.html