精华内容
下载资源
问答
  • 2019-11-10 20:57:19

    对给出的列表进行词频统计,将单词与单词出现次数对应起来,以字典的形式输出

    列表如下

    l1=['a','a','b','b','b','c','c','c','c','d','d','d','d']

    l1=['a','a','b','b','b','c','c','c','c','d','d','d','d']
    print(l1)
    b=dict.fromkeys(l1,0)
    print(b)
    for x in l1:
        b[x]+=1
    print(b)

    输出结果:

    ['a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd']
    {'a': 0, 'b': 0, 'c': 0, 'd': 0}
    {'a': 2, 'b': 3, 'c': 4, 'd': 4}

     

    更多相关内容
  • python利用字典统计词频的两种方式

    千次阅读 2021-11-20 13:30:22
    python利用字典统计词频的两种方式 1、自带collections库 >>> import collections >>> s = 'collection' >>> collections.Counter(s) Counter({'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1,...

    python利用字典统计词频的两种方式

    1、自带collections库

    >>> import collections
    >>> s = 'collections'
    >>> collections.Counter(s)
    Counter({'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1, 's': 1})
    >>> dict(collections.Counter(s))
    {'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1, 's': 1}
    

    2、初始化dict并计数

    dict_s = {}
    s = 'collections'
    for c in s:
        if c not in dict_s:
            dict_s[c] = 1
        else:
            dict_s[c] += 1
    print(dict_s) # {'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1, 's': 1}
    
    展开全文
  • 利用python实现词频统计

    万次阅读 多人点赞 2021-10-16 18:31:42
    词频统计软件: 1)从文本中读入数据:(文件的输入输出) 2)不区分大小写,去除特殊字符。 3)统计单词 例如:about :10 并统计总共多少单词 4)对单词排序。出现次数 5)输出词频最高的10个单词和次数 6)把统计...

    这是我们老师的作业 代码中都有注释

    要求

    词频统计软件:
    1)从文本中读入数据:(文件的输入输出)
    2)不区分大小写,去除特殊字符。
    3) 统计单词 例如:about :10 并统计总共多少单词
    4)对单词排序。出现次数
    5)输出词频最高的10个单词和次数
    6)把统计结果存入文本


    1.文件的读取,区分大小写,去除特殊字符

    import re
    
    def getword():
         # 读取文件
         f=open('read.txt','r',encoding='utf-8')
         # 将大写转化成小写
         word=f.read().lower()
         # 关闭文件
         f.close()
         #利用正则除去特殊字符   |\符+
         list=re.split('\s+|\,+|\.+|\!+|\:+|\?+|\;+|\(+|\)+|\-+|\_+|\=+|\++|\“+|\、+|\/+|\{+|\}+|\”+|\:+|\。+|\“+|\[+|\]+|\【+|\】+|\—+|\%+|\"+',word)
         # 遍历列表 去除列表中的空格
         i = 0
         while i < len(list):
              if list[i] == '':
                   list.remove(list[i])
                   i -= 1
              i += 1
    
         # for a in list:
         #      if a == "":
         #         list.remove(a)
        #用for循环的话如果存在多个空字符串 其列表会随时发生变化,导致无法正常删除空字符串 所以在使用for…in循环遍历列表时,最好不要对元素进行增删操作
    
    #  对于others'优化 如果最后一个字符是‘就将’其去掉
         for i in range(len(list)):
              l=list[i]
              if list[i][-1] == "'":
                   list[i] = list[i][:-1]
         return list
    
    
    
    
    
    

    2. 统计,排序

    from getfilewords import getword
    
    def statistics():
        dict={}  #定义一个空的字典,在后面的运算中逐步添加数据
        words=getword()
        for word in words: #遍历整个列表
            if word in dict.keys():  #判断当前单词是否已经存在 dict.keys()是已存进字典中的单词
                # 补充:keys() 方法用于返回字典中的所有键;
                # values() 方法用于返回字典中所有键对应的值;
                #详情见Test1
                dict[word]=dict[word]+1  #在当前单词的个数上加 1
            else:
                dict[word]=1  #当前单词第一次出现时 会把单词写入dict字典里 格式为 ‘单词’=1
    #排序
        w_order=sorted(dict.items(),key=lambda x:x[1],reverse=True)
    # print(dict.items())
    # dict.items()返回的是列表
    # 按字典集合中,每一个元组的第二个元素排列。
    # sorted会对dict.items()这个list进行遍历,把list中的每一个元素,也就是每一个tuple()当做x传入匿名函数lambda x:x[1],函数返回值为x[1]
    # reverse属性True为降序 False为升序
        return w_order #返回排序后的列表

    3.结果写入文本

    from WordStatistics import statistics
    def writefile():
        w_order=statistics()
        f = open('result.txt', 'w',encoding='utf-8')
        print("文章单词总个数:",+len(getword()),file=f)
        print("文章单词总个数:", +len(getword()))
    
        # 写入文件
        print("词频最高的10个单词和次数",file=f)
        print("词频最高的10个单词和次数")
    
        w_order10=w_order[:10]#将列表的前十位提取并且遍历 输出key(单词)和values(次数)
        for key,values in w_order10:
            print(key,':',values,file=f)
            print(key, ':', values)
    
        #遍历列表中的所有数据
        print("统计结果",file=f)
        for key,values in w_order:
            print(key,':',values,file=f)
        f.close()#关闭文件

    4.程序入口

    import os
    
    from writefile import writefile
    
    print("词频统计软件")
    print("正在统计中。。。")
    print("统计成功,结果保存到result.txt")
    writefile()
    print("程序运行结束")
    os.system("pause")

    5.运行截图

    这是需要统计的文本

    运行程序

     运行结果

     最后成功实现!

    展开全文
  • 本文介绍了python实现简单中文词频统计示例,分享给大家,具体如下: 任务 简单统计一个小说中哪些个汉字出现的频率最高 知识点 1.文件操作 2.字典 3.排序 4.lambda 代码 import codecs import matplotlib.pyplot ...
  • python实现词频统计

    千次阅读 2021-07-30 19:23:05
    python实现词频统计 词频统计就是输入一段句子或者一篇文章,然后统计句子中每个单词出现的次数。 那么,这个在python中其实是很好实现的,下面我们来看看具体是怎样实现的,里面又用到了哪些知识呢? 输入一段话...

    用python实现词频统计

    词频统计就是输入一段句子或者一篇文章,然后统计句子中每个单词出现的次数。

    那么,这个在python中其实是很好实现的,下面我们来看看具体是怎样实现的,里面又用到了哪些知识呢?

    输入一段话,统计每个字母出现的次数

    先来讲一下思路:

    例如给出下面这样一句话

    Love is more than a word
    it says so much.
    When I see these four letters,
    I almost feel your touch.
    This is only happened since
    I fell in love with you.
    Why this word does this,
    I haven’t got a clue.

    那么想要统计里面每一个单词出现的次数,思路很简单,遍历一遍这个字符串,再定义一个空字典count_dict,看每一个单词在这个用于统计的空字典count_dict中的key中存在否,不存在则将这个单词当做count_dict的键加入字典内,然后值就为1,若这个单词在count_dict里面已经存在,那就将它对应的键的值+1就行

    下面来看代码:

    #定义字符串
    sentences = """           # 字符串很长时用三个引号
    Love is more than a word
    it says so much.
    When I see these four letters,
    I almost feel your touch.
    This is only happened since
    I fell in love with you.
    Why this word does this,
    I haven't got a clue.
    """
    #具体实现
    #  将句子里面的逗号去掉,去掉多种符号时请用循环,这里我就这样吧
    sentences=sentences.replace(',','')   
    sentences=sentences.replace('.','')   #  将句子里面的.去掉
    sentences = sentences.split()         # 将句子分开为单个的单词,分开后产生的是一个列表sentences
    # print(sentences)
    count_dict = {}
    for sentence in sentences:
        if sentence not in count_dict:    # 判断是否不在统计的字典中
            count_dict[sentence] = 1
        else:                              # 判断是否不在统计的字典中
            count_dict[sentence] += 1
    for key,value in count_dict.items():
        print(f"{key}出现了{value}次")
    

    输出结果是这样:

    在这里插入图片描述

    怎么样,大家get到了吗?赶紧试试

    如果对你有帮助,不要忘记点赞评论关注加收藏哦!

    展开全文
  • 利用python词频统计

    万次阅读 多人点赞 2018-05-15 07:52:28
    方法一:利用python字典的方式 speech_etxt = ''' My fellow citizens: I stand here today humbled by the task before us, grateful for the trust you've bestowed, mindful of the sacrifices borne by our ...
  • Python词频统计

    2021-12-13 15:04:47
    jieba库的使用、词频统计
  • python字典的get{}常用操作之词频统计

    千次阅读 2020-06-15 20:32:26
    1 字典的创建 1.1 法一:dict1={} 1.2 法二:dict2=dict() 2 若字典中已经有数据,即键值对存在 例:dict3={‘张三’:10,‘李四’:20} “张三、李四”称为该字典的键;”10、20“称为该字典的值。 get()可以直接...
  • 恰逢某只考拉学python,俺也来玩玩 准备工作 随便来个txt文件,里面写了一些英文(中文也行),这里我们用utf-8格式 主要代码: with open("The Phantom Rider.txt", encoding='utf-8') as text: words = text.read...
  • Python如何进行词频统计?3种方法教给你

    千次阅读 多人点赞 2021-01-14 14:36:08
    以下文章来源于快学Python ,作者小小明 Python爬虫、数据分析、网站开发等案例教程视频免费在线观看 https://space.bilibili.com/523606542 数据准备 importjieba withopen("D:/hdfs/novels/天龙八部....
  • Python读取文件后进行词频统计

    千次阅读 2021-11-26 00:41:15
    1引言本文解决由粉丝提出的问题。2问题我们在使用python函数获取文件后,有时需要对该文件进行词频统计。本文将通过对英文文件的读取和中文文件的读取进行讲解。3 方法一.统计英文文档中的...
  • Python中英文词频统计

    千次阅读 2022-04-10 09:39:28
    Python中英文词频统计的简单使用方法
  • #这句关键,用words列表中的每个单词去索引字典, # 已经有这个键的话就把相应的值加1,没有的话就取值为0,再加1 if len(word)==1: continue elif word=="诸葛亮"or word=="孔明曰": rword="孔明" elif word==...
  • 字典是针对非序列集合而提供的一种数据类型,字典中的数据是无序排列的。字典的操作为字典增加一项dict[key] = valuestudents = {"Z004":"John","T002":"Peter"}studentsOut[23]: {'T002': 'Peter', 'Z004': 'John'}...
  • 利用字典dict和列表list进行词频统计
  • Python进行词频统计

    千次阅读 2020-04-04 00:15:35
    英文文本词频统计 def getText(): txt = open("hamlet.txt","r").read()#读取文件 txt = txt.lower() #把文本全部变为小写 for ch in '|"#$%&^()*+,-./:;<>=?@[]\\_‘{}~':#把特殊字符变为空格 txt = ...
  • 如何利用Python进行文本词频统计

    千次阅读 2020-12-03 15:23:37
    所以我们经常会遇到利用Python从一篇文档中,统计文本词频的问题。以《三国演义》这部名著为例,文中哪些人物的出场次数最多呢?让我们用Python来解决看看吧!解决方案在实际计算中,我们常常遇到需要同时处理多个...
  • 使用Python进行英文词频统计

    万次阅读 多人点赞 2019-03-11 16:54:42
    对一篇英文文章进行词频统计重点在于内容去噪和归一化,可用split()进行分词。本文以《飘》为例,统计词频最高的前十位。 1.读取文件,通过lower()、replace()函数将所有单词统一为小写,并用空格替换特殊字符。 ...
  • 1、利用字典dict来完成统计#举例:a = [1 2 3 1 1 2]dict = {}for key in a:dict[key] = dict.get(key 0) + 1 #字典的get函数可以查询键的值,0代表默认值每出现一次加1print (dict)输出结果: >>>{1: 3 2: 2 3: 1}2...
  • 使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络上有很多类似的文件讲述...
  • 文章目录1. 集合2. 字典3. 练习 1. 集合 2. 字典 3. 练习
  • 给定一段英文字符串,要求统计其中所有单词出现的频率,将结果封装进字典 解题思路: 使用到的方法: replac("a","b") 将字符串中的a字符替换成b split() 将字符串以空格符,制表符,回车符为标志分割成单独元素并封装...
  • Python中文词频统计

    2020-12-03 15:23:33
    以下是关于小说的中文词频统计这里有三个文件,分别为novel.txt、punctuation.txt、meaningless.txt。这三个是小说文本、特殊符号和无意义词Python代码统计词频如下:import jieba # jieba中文分词库# 从文件读入...
  • 一.环境以及注意事项1.windows10家庭版 python 3.7.12.需要使用到的库 wordcloud(词云),jieba(中文分词库),安装过程不展示请安装到C:\Windows\Fonts 里面5....词频统计以及输出(1) 代码如下(封装为tx...
  • import jieba import math import wordcloud import matplotlib.pyplot as plt #构建停用词列表 def stopword(path1): file = open(path1,'r',encoding='utf-8') ...#统计词频和高频词 def comme.
  • python词频统计的方式

    千次阅读 2018-04-10 17:45:51
    现有列表如下:[6, 7, 5, 9, 4, 1, 8, 6, 2, 9]希望统计各个元素出现的次数,可以看作一个词频统计的问题。我们希望最终得到一个这样的结果:{6:2, 7:1...}即 {某个元素:出现的次数...}首先要将这些元素作为字典的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,491
精华内容 996
热门标签
关键字:

python词频统计利用字典