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

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

    (列表)
    # # -*- coding: utf-8 -*- list = ['a', 'b', 2019, 'c'] print("list的类型:", type(list)) print("list[2]:", list[2]) print("list[1:2]:", list[1:3]) print("list列表的值为", list) print("第三个元素为list[2]:", list[2]) list[2] = 2018 print("修改后的第三个元素为list[2]:", list[2]) list.append(2) print("增加元素后的list值:", list) list.insert(1, 'd') print("插入元素后的list值:", list) del list[4] print("删除第五个元素后的list值:", list)
    (元组)
    num1 = ('a', 'b','c', 'd');    #设置元组
    num2 = ('e', 1,'g')
    num3=num1+num2 #元组不支持修改,但可以通过连接组合的方式进行增加
    print(num3)
    #查
    print (num1[0] ,num2[0])
    (字典)
      dict['key']='value'
     del dict['key'] 
      if 'key' in dict1:  dict1['key']='new_value'
       if 'key' in dict:    print dict1['key']
      for i in dict['key']:
          print(i)
    (集合)
    set={1,2,3} 增
    set.add(4)
    print(set)

    set.remove(4)
    print(set)
    #遍历
    for x in set:
    print(x)

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

    • 括号
    • 有序无序
    • 可变不可变
    • 重复不可重复
    • 存储与查找方式
    列表 元组 字典 集合
    括号   []   ()  {}  {}
    有序无序 有序 有序 有序 无序
    可变不可变 可变 不可变 可变 可变
    重复不重复 可重复 可重复 可重复 不可重复
    存储与查找方式 索引 索引 键值

    3.词频统计

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

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

      3.对文本进行预处理

      4.分解提取单词 list

      5.单词计数字典 set , dict

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

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

      • 自定义停用词表
      • 或用stops.txt

      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

     代码如下:

    f = open(r'C:UsersLenovoPycharmProjectsWere You Ever a Child.txt', encoding='utf8')
    # 打开文件
    stop = {'a', 'the', 'and', 'i', 'you', 'in', 'but', 'not', 'with', 'by', 'its', 'for', 'of', 'an', 'to', 'my', 'myself'}
    
    
    def gettext():
        sep = "~`*()!<>?,./;':[]{}-=_+"
        text = f.read().lower()
        for s in sep:
            text = text.replace(s, '')
        return text
    
    
    # 读取文件
    textList = gettext().split()
    print(textList)
    # 分解提取单词
    textSet = set(textList)
    stop = set(stop)
    textSet = textSet - stop
    print(textSet)
    # 排除语法词
    textDict = {}
    for word in textSet:
        textDict[word] = textList.count(word)
        print(textDict)
    print(textDict.items())
    word = list(textDict.items())
    # 单词计数
    word.sort(key=lambda x: x[1], reverse=True)
    print(word)
    # 排序
    for q in range(20):
        print(word[q])
    # 次数为前20的单词
    
    import pandas as pd
    
    pd.DataFrame(data=word).to_csv("text.csv", encoding='utf-8')

    词云执行效果如下:

  • 相关阅读:
    数据类型之集合 set &运算关系
    python数据类型之字典类型-dict
    python数据类型之元组类型tuple
    python数据类型之列表类型-list
    python数据类型之字符串类型str
    python之if判断、while循环、for循环
    数据的类型、用户交互、格式化输出、基本运算符简介
    什么是操作系统,汇编语言的分类简介,以及python
    1 Kubernetes管理之master和Node
    python学习第三天 -----2019年4月23日
  • 原文地址:https://www.cnblogs.com/shang1680/p/10533356.html
Copyright © 2011-2022 走看看