关闭

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

标签: 数据处理excel脚本
101人阅读 评论(0) 收藏 举报

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

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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10363次
    • 积分:257
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条