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

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

(1)列表之增:append(增补)直接把新数据放到列表的最后一项。

          insert(插入)比append更灵活,可以插到任何

          extend可以将一个集合中的元素一一添加到列表中

(2)列表之删:remove通过.remove()删除指定内容,不能直接靠下标实现删除。

          pop通过下标来删除,并且可以返回这个删除的元素。

(3)列表之改:直接对指定下标的元素赋值即可

(4)列表之查:in/not in/index/count

 

元祖:元祖无法进行增删改。

(1)元祖之查:index /count

字典: 

(1)字典之增:直接通过键值对赋值即可添加。

(2)字典之删:pop通过下标来删除对应的键值对。

(3)字典之改:直接对已有的键值对进行赋值。

(4)字典之查:print(Dict['time']) # 直接查询'time'对应的值,此种方式若该key不存在,则报错

                           print(Dict.get('time')) # 功能同上,但若该key不存在会返回None,而不是报错

(5)字典之遍历:print(Dict.keys()) # 遍历key.

           print(Dict.values()) # 遍历value.

           print(Dict.items()) # 遍历键值对.

集合: 

(1)集合之增:s.add('新增key'),新增的元素也许会在集合内的任何位置,每次执行结果也不尽相同!

(2)集合之删:s.pop() # 删除首个元素 谁在最前面删除谁 

 

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('novel.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','i','mr','but','by','said','be','were','which','and','of','to','a','in','was','she','her','had','that','it','with','from','which','this','an','on','he','for','you','as','his','not','at','mrs','my','is','there','who','have'}#定义数组
for i in exclude:
    if i in dict.keys():
        dict.pop(i)
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('novel.csv',encoding='utf-8')
统计词频

 

 

 

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

 



posted on 2019-03-11 17:53  kenda_yellow  阅读(171)  评论(0编辑  收藏  举报