在用excel做一些数据处理时遇到如下问题:
文件中有a,b,c,d,f这5列,当a,b,c,d四列相同时认为是重复,需要保留f列的值最接近-84的那个,其他的全丢弃。
本人excel是小白级的,仅限于使用if、vlookup等简单常用的函数,实在想不起来怎么用于这么着去重,因为数据量比较大,一上午也没搞定1/10的内容,太耽误事了
正好刚看了pandas.DataFrame的一点内容,来试试手吧
从手册中搜到最核心的方法drop_duplicates(),果断收下了
准备着手写程序的时候发现还不知道怎么读写文件,继续查~~read_csv(), to_csv()搞定!
以下附上代码:
导入3个包后,先读文件
问题又来啦,drop_duplicates()中只能保留第一个或最后一个重复的那条,不能加其他条件,那就排序吧,但数据里有大于-84的也有小于-84的,排序也不行,于是对-84做差再取绝对值,再排序
然后去重,最后写文件,搞定!
从萌生写python做的想法,到查手册,到写代码调试,不到1小时!而如果手动点excel指不定什么时候搞定呢~~
其实写SQL或matlab更顺手,也能很快搞定,但还是想小小挑战一下,Mark一下小成果
学习python更有动力!