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程序来判断文本的语种
Apr 07 Python
Python编程实现双击更新所有已安装python模块的方法
Jun 05 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
如何在python字符串中输入纯粹的{}
Aug 22 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
Django ORM filter() 的运用详解
May 14 Python
Keras之fit_generator与train_on_batch用法
Jun 17 Python
Python文件名匹配与文件复制的实现
Dec 11 Python
Python tkinter之ComboBox(下拉框)的使用简介
Feb 05 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
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
jquery提升性能最佳实践小结
2010/12/06 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
简历的个人自我评价范文
2014/01/03 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
社区好人好事材料
2014/12/26 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
详解Python为什么不用设计模式
2021/06/24 Python
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript