为什么有的人工作任务越来越多,却不用加班。同样的分析到了你的手里,简直泰山压顶?“效率”二字要时刻放在心头。类似的处理做第二遍时就需要反思,有没有更简便、省时的方法?
01 分析任务
筛选商品1消费数量大于200 ,商品2消费数量大于200 且 商品1消费数量大于商品2消费数量 的用户,统计统计该部分用户商品3,商品4的各自总消费数量和平均消费数量。
数据长这样:
大部分人:
筛选商品1消费数量 > 200
筛选商品2消费数量 > 200
把筛选结果粘贴的另一张表格
对D列 或 E列排序
手工删除商品2消费数量小于等于商品1消费数量的行
统计商品3和商品4的总消费数量和平均消费数量
半个小时已过去
部分人:
在Excel加辅助列
写if公式
根据if公式结果筛选
统计商品3和商品4的总消费数量和平均消费数量
Binggo,3分钟不到就搞定。嗯,还不错。
第二天还需要统计一份相似新数据,还是3分钟。
02 思考
有没有可能把第二次的3分钟变成3秒钟?如果Excel的数据很大,有几十M,运算一次要卡很久怎么办?手工敲公式粘数据容易误操作,有没有解决的办法?
当然有,让我们继续看如何使用python做数据分析必用的包“pandas”把大象装进冰箱。
第一步:启动jupyter notebook,导入pandas。(不会第一步的小小白可以点击这里查看上一篇帖子)。
多啰嗦一句 as pd 是python引入的pandas包的简称,谁都不想每次敲6下键盘。
第二步:导入数据并查看
此处注意,我是在存有数据的目录中打开jupyter Notebook,所以只需要写文件名data.xlsx即可。
执行第二行后,数据已经存储在data变量中。
head()函数可以查看前5行。describe()函数可以统计每一列的计数、均值、标准差、最大最小值、以及几个分位值。
第三步:最重要的一步,在data上做筛选
让我再次把语句写一遍
data_filter = data[(data["商品1消费数量"]>200) & (data["商品2消费数量"]>200) & (data["商品1消费数量"]>data["商品2消费数量"])]
等号右边拆解来看:
data[“商品1消费数量”] > 200 : 含义是data数据中 商品1消费数量 这一列 的筛选条件,注意符号为英文。
& :且,商品1的消费数量大于200 且 商品2的消费数量大于200
多个条件需要用括号括起来,还是那句话“英文符号”
同样查看一下筛选后的结果“data_filter”
第四步:把结果保存到文件中
可以试试不加index = false的区别
第五步:统计商品3和商品4
注意:此处items存储了想筛选的列名,data_filter[items] 表示仅取items中存储的列。
axis = 0代表按列统计。
有的人会问,axis有没有其他值?有的,axis = 1 代表按行统计。pandas的axis设定会有点绕,目前先记下即可,后续文章会展开讲。
03 看效果的时候
当你再次遇到类似的统计,仅需修改导入的文件名,判断的条件,导出的文件名,然后点击Cell – Run all。仅需几秒,结果已出。
一天中至少3分钟已经被节约下来。时间如此宝贵,生命如此美好,多睡会觉,打打游戏,刷刷剧,不香吗?
下载示例文件:
链接:https://pan.baidu.com/s/1aiK_ObE0VdjmWhPUtQAjZQ
提取码:d5tg
下一篇文章讲用python – pyecharts包画一些Excel难以企及的统计图用我的经验为你铺路–小数
本文来自投稿,不代表小数-数据分析立场,如若转载,请注明出处:http://www.dataxx.net.cn/archives/2466