码迷,mamicode.com
首页 > 其他好文 > 详细

复合数据类型,英文词频统计

时间:2019-06-19 20:07:32      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:ict   csv   生成   排序   mic   open   rem   pandas   eve   

1.列表,元组,字典,集合分别如何增删改查及遍历。

列表:

对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项;可以使用 del 语句来删除列表的的元素;

元组:

元组可以使用下标索引来访问元组中的值;元组中的元素值是不允许修改的,但我们可以对元组进行连接组合;元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组;

字典:

把相应的键放入到方括号中;向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对;能删单一的元素也能清空字典,清空只需一项操作,显示删除一个字典用del命令;

集合:

将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作;clear()清空集合 s;remove()移除元素;

2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:

  • 括号
  • 有序无序
  • 可变不可变
  • 重复不可重复
  • 存储与查找方式

技术图片

3.词频统计

  • 1.下载一长篇小说,存成utf-8编码的文本文件 file

    2.通过文件读取字符串 str

    3.对文本进行预处理

    4.分解提取单词 list

    5.单词计数字典 set , dict

    6.按词频排序 list.sort(key=lambda),turple

    7.排除语法型词汇,代词、冠词、连词等无语义词

    • 自定义停用词表
    • 或用stops.txt
技术图片
f = open(‘text1.txt‘,‘r‘, encoding=‘UTF-8‘)
str = f.read()
f.close()
text=str.lower()#转换字符串中所有大写字符为小写
sep = ‘‘‘
,.!?-"
‘‘‘
for s in sep:
    text = text.replace(s,‘ ‘)#符号转换空格
text = text.split();#空格分割单词单词

dict={}
for word in text:
    dict[word] = text.count(word)#获取单词数目

exclude={‘the‘,‘and‘,‘of‘,‘to‘,‘a‘,‘in‘,‘was‘,‘she‘,‘her‘,‘had‘,‘that‘,‘it‘,‘with‘,‘i‘,‘mr‘,‘but‘,‘by‘,‘said‘,‘be‘,‘were‘,‘which‘,‘from‘,‘which‘,‘this‘,‘an‘,‘on‘,‘he‘,‘for‘,‘you‘,‘as‘,‘his‘,‘not‘,‘at‘,‘mrs‘}#定义数组
for a in exclude:
    if a in dict.keys():
        dict.pop(a)#排除语法型词汇

word=list(dict.items())
word.sort(key=lambda x:x[1],reverse=True)#降序排序

print(word)#显示结果

import pandas as pd
pd.DataFrame(data=word).to_csv(‘text1.csv‘,encoding=‘utf-8‘)#生成csv文件
技术图片

 

 技术图片

 

8.输出TOP(20)

  • 9.可视化:词云

 技术图片

 

 排序好的单词列表word保存成csv文件

import pandas as pd
pd.DataFrame(data=word).to_csv(‘big.csv‘,encoding=‘utf-8‘)

线上工具生成词云:
https://wordart.com/create

技术图片

复合数据类型,英文词频统计

标签:ict   csv   生成   排序   mic   open   rem   pandas   eve   

原文地址:https://www.cnblogs.com/AllanChen-/p/11053829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!