简单统计、数据处理的几个常用命令:频率统计,和key匹配

本文介绍两种常用的数据处理方法:一是使用Python的collections模块中的Counter方法快速统计列表中各元素的出现频率;二是利用grep-f命令从大型文件中筛选特定关键字对应的行。这两种方法在数据预处理阶段特别实用。
部署运行你感兴趣的模型镜像

最近常用的几个数据处理的小技巧:

1. python的collections模块的Counter方法,和shell命令的sort uniq -c 做的是相同的事情,都是日常处理非常常见的,需要统计一个集合中各个元素的出现次数。


比如:对于一个列表test_list=[1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,2,2,3,3],

test_dict=dict(Counter(test_list)),可以直接得到一个字典:{'1':1,'2':4,'3':4,'4':4, '5':5}


用 uniq -c 处理文本也是同样的效果。如果要从高频到低频排序,可以sort | uniq -c | sort -r就是逆序排序了。


当然,数据量小的话,在excel,用先排序,再分组小计的方法也是一样的。


2. 匹配:用excel的vlookup,和python的字典的方法,自然是最常用的。不过,还有一个偷懒的方法,就是grep -f 的方法,比如一个大文件 a.txt,第一列是key,有一个目标的key的集合,放在b.txt里,注意,文件b里就只有key,一个key一行。那么cat a.txt | grep -f b.txt > filtered_result.txt,就可以得到a中所有符合b中key的行。好处是比python简单,也不用担心excel处理后的异常字符或者格式问题,缺点就是慢,比python的字典索引查询方法慢了不止一个数量级。



您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值