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

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

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的字典索引查询方法慢了不止一个数量级。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值