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实现倒计时的示例
Feb 14 Python
Python数据结构之Array用法实例
Oct 09 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
python实现字符串和日期相互转换的方法
May 13 Python
Python读大数据txt
Mar 28 Python
Python 通过URL打开图片实例详解
Jun 01 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
python调用API接口实现登陆短信验证
May 10 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
Python filter过滤器原理及实例应用
Aug 18 Python
python解析照片拍摄时间进行图片整理
Jul 23 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 Google的translate API代码
2008/12/10 PHP
小谈php正则提取图片地址
2014/03/27 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
php跨域调用json的例子
2013/11/13 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
理解Koa2中的async&await的用法
2018/02/05 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
python实现计算资源图标crc值的方法
2014/10/05 Python
跟老齐学Python之类的细节
2014/10/13 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Python之修改图片像素值的方法
2019/07/03 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
自我评价如何写好?
2014/01/05 职场文书
个人收入证明范本
2014/01/12 职场文书
语文教育专业求职信
2014/06/28 职场文书
美术课外活动总结
2014/07/08 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书