python 统计列表中各元素的出现频次,python处理时间序列数据
本文主要介绍python的统计序列和文件中元素出现的频率。文章基于Python的相关资料,详细介绍,有一定参考价值的朋友可以参考一下。
00-1010 1.如何统计一个序列中元素的出现频率2?代码演示
目录
实际案例:
(1)在随机序列[12,5,6,4,6,5,5,7,].它们的发生率是多少?(2)对一篇英语文章中的单词进行词频统计,找出出现频率最高的10个单词。它们出现的频率是多少?解决方案:
使用集合。计数器对象。
将序列传入Counter的构造函数,得到Counter对象是一个元素频率的字典。
Counter.most_common(n)方法获取频率最高的n个元素的列表。
1、如何统计序列中元素的出现频度
(1)某随机序列 [12, 5, 6, 4, 6, 5, 5, 7, ...] 中找到出现次数最高的3个元素,它们出现次数是多少?
从随机导入randint
#通过使用列表解析生成随机序列
data=[randint(0,20) for _ in range(30)]
打印(数据)
#方法1:
最终的统计结果肯定是字典,比如:{2: 5,433609},
创建这样一个字典,将data中的每个元素作为字典的键,将0作为初始值。
c=dict.fromkeys(data,0)
打印(c)
#迭代数据并进行统计。
对于数据:中的x
c[x]=1
打印(c)
#根据字典项目的值对其进行排序,并截取前3个元素
sort_dict=sorted(c.items(),key=lambda item: item[1],reverse=True)[0:3]
打印(sort_dict)
#方法23360
从集合导入计数器
#将序列直接传递给计数器构造函数
c2=计数器(数据)
打印(c2)
#直接使用对象的most_common()方法,求最高频率3。
print(c2.most_common(3))
(2)对某英文文章的单词,进行词频统计,找到出现次数最高的10个单词,它们出现次数是多少?
从集合导入计数器
#导入正则表达式模块
进口re
#将整个文件内容作为字符串读取
txt=open(word.txt )。阅读()
打印(文本)
#要统计词频,首先需要对每个词进行切分。
#使用非字母字符作为分段,然后传递给Counter()进行统计。
c3=计数器(re.split(\W ,txt))
#使用most_common()选择10个最常用的单词。
print(c3.most_common(10))
关于Python统计序列和文件中元素出现频率的文章到此结束。有关Python统计序列的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。