Python 统计序列中元素的出现频度


Posted in Python onApril 26, 2022

1、如何统计序列中元素的出现频度

实际案例:

  • (1)某随机序列[12, 5, 6, 4, 6, 5, 5, 7, ...] 中找到出现次数最高的3个元素,它们出现次数是多少?
  • (2)对某英文文章的单词,进行词频统计,找到出现次数最高的10个单词,它们出现次数是多少?

解决方案:

使用collections.Counter对象

将序列传入Counter的构造器,得到Counter对象是元素频度的字典。

Counter.most_common(n)方法得到频度最高的n个元素的列表。

2、代码演示

(1)某随机序列 [12, 5, 6, 4, 6, 5, 5, 7, ...] 中找到出现次数最高的3个元素,它们出现次数是多少?

from random import randint
 
# 利用列表解析生成随机序列
data = [randint(0, 20) for _ in range(30)]
print(data)
# 方法1:
'''
最终的统计结果肯定是一个字典,如:{2: 5, 4:9},
以data中每一个元素作为字典的键,0作为初始值,创建这样一个字典
'''
c = dict.fromkeys(data, 0)
print(c)
# 对data进行迭代,进行统计
for x in data:
    c[x] += 1
print(c)
# 根据字典的值对字典项进行排序,并截取前3个元素
sort_dict = sorted(c.items(), key=lambda item: item[1], reverse=True)[0:3]
print(sort_dict)
    
# 方法2:
from collections import Counter
# 直接将序列传给Counter构造器
c2 = Counter(data)
print(c2)
# 直接使用对象的most_common()方法直接找到频度最高3个
print(c2.most_common(3))    

(2)对某英文文章的单词,进行词频统计,找到出现次数最高的10个单词,它们出现次数是多少?

from collections import Counter
# 导入正则表达式模块
import re
 
# 读取整个文件内容作为字符串
txt = open('word.txt').read()
print(txt)
# 对词频进行统计,首先需要进行分割把每一个字取出来
# 用非字母的字符作为分割,然后传给Counter()进行统计
c3 = Counter(re.split('\W+', txt))
# 使用most_common()选取10个频度最高单词
print(c3.most_common(10))

到此这篇关于Python统计序列和文件中元素的频度的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
Python实现完整的事务操作示例
Jun 20 Python
python实现mysql的读写分离及负载均衡
Feb 04 Python
python TCP Socket的粘包和分包的处理详解
Feb 09 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
对Python中小整数对象池和大整数对象池的使用详解
Jul 09 Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
关于多元线性回归分析——Python&SPSS
Feb 24 Python
python 实现单例模式的5种方法
Sep 23 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 Python
matplotlib更改窗口图标的方法示例
Feb 03 Python
Python matplotlib安装以及实现简单曲线的绘制
Python爬虫 简单介绍一下Xpath及使用
分享python函数常见关键字
Apr 26 #Python
python和Appium的移动端多设备自动化测试框架
Apr 26 #Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 #Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
You might like
php cookis创建实现代码
2009/03/16 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
Python标准库defaultdict模块使用示例
2015/04/28 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
化工机械应届生求职信
2013/11/04 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
领导接待方案
2014/03/13 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
2014年质量工作总结
2014/11/22 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
处罚决定书范文
2015/06/24 职场文书
工作感想范文
2015/08/07 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers
Django框架中表单的用法
2022/06/10 Python
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers