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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
python判断windows系统是32位还是64位的方法
May 11 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
python tkinter实现屏保程序
Jul 30 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
学习Django知识点分享
Sep 11 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
python如何写出表白程序
Jun 01 Python
python不同系统中打开方法
Jun 23 Python
python 爬取B站原视频的实例代码
Sep 09 Python
python爬虫筛选工作实例讲解
Nov 23 Python
手把手教你实现PyTorch的MNIST数据集
Jun 28 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
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
python五子棋游戏的设计与实现
2019/06/18 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
Python flask框架post接口调用示例
2019/07/03 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
艺术学院毕业生求职信
2014/07/09 职场文书
安全检查汇报材料
2014/12/26 职场文书
慰问信格式
2015/02/14 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
小学推普周活动总结
2015/05/07 职场文书
会议主持词结束语
2015/07/03 职场文书
培训计划通知
2015/07/15 职场文书
大学运动会加油稿
2015/07/22 职场文书
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers