zoukankan      html  css  js  c++  java
  • 复合数据类型,英文词频统计

    该作业要求来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2696

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

    1.列表:

    2.元组:

    3.字典:   

      d={'a':10,'b':20,'c':30}

    4.集合:

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

    (1)括号

             列表[];  元组(); 字典{};集合()或者{}

    (2)有序无序

           列表和元组有序,字典和集合无序

    (3)可变不可变

           列表,字典可变,元组不可变,集合可变也可不变

    (4)重复不可重复

           列表,元组,字典可重复,集合不可重复

    (5)存储与查找方式

          列表:存储在连续的内存地址中,利用下标索引号查找。

          元组:偏移存取,可以进行索引查找

          字典:键-值存储方式 ,通过键查找值

          集合:存储的元素是无序且不重复 ,可以通过in或not in查找

    三.词频统计

    • 1.准备utf-8编码的文本文件 file

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

      3.对文本进行预处理

      4.分解提取单词 list

      5.单词计数字典 set , dict

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

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

      8.输出TOP(20)

    • 可视化:词云

    代码完整附说明如下所示:

    复制代码
    #打开小说文件
    f = open("D:\World.txt", 'r') #定义数组
    stop={'a','the','and','i','you','in','but','not','with','by','its','for','of','an','to','my','myself','we','our','ours','ourelves','about','no','nor'} #读取文件
    def gettext(): sep=",.? ?':' !--!_:" text=f.read().lower() for c in sep: textx=text.replace(c,' ') return textx #对文件进行分解 bList=gettext().split() print(bList) #把分解后的词语放在一个集合中
    bSet=set(bList) print(bSet)
    #把停用词放在集合中
    bStop=set(stop) #去处停用词
    bSet=bSet-bStop print(bSet) #定义字典对单词进行统计
    bDict={} for word in bSet: bDict[word]=bList.count(word) print(bDict) print(bDict.items()) word=list(bDict.items()) #对统计结果进行排序
    word.sort(key=lambda x:x[1],reverse=True) print(word)
    #输出前20的单词 for i in range(20): print(word[i])
    #对结果输出到text.csv中
    import pandas as pd
    pd.DataFrame(data=word).to_csv("D:\text.csv",encoding='utf-8')
    
    
    复制代码

    如图为运行结果显示

    
    

    如图为输出到csv的统计结果

  • 相关阅读:
    Centos 7 zabbix 实战应用
    Centos7 Zabbix添加主机、图形、触发器
    Centos7 Zabbix监控部署
    Centos7 Ntp 时间服务器
    Linux 150命令之查看文件及内容处理命令 cat tac less head tail cut
    Kickstart 安装centos7
    Centos7与Centos6的区别
    Linux 150命令之 文件和目录操作命令 chattr lsattr find
    Linux 发展史与vm安装linux centos 6.9
    Linux介绍
  • 原文地址:https://www.cnblogs.com/timchan/p/10519767.html
Copyright © 2011-2022 走看看