做过数据分析的程序员都知道:Excel、Tableau等这些亲民工具都是数据分析的得力助手。
但用Excel做分析,繁琐的每一步都是来自鼠标点击,中间如果一步有误,很多步骤都需要重新调整,浪费大量时间。
这不,前天临近下班时间,老板突然Q我:算一下近一年销售额总额TOP5的品牌以及对应的销售额。
接收完文档我傻眼了,公司旗下有20个品牌,这些品牌涉及到128个类目,业务部门总共发来了128张表,每一份表格对应着一个细分行业的数据,像什么各类户外服装、垂钓装备、救生装备应有尽有。
每张表,以月的维度记录着每个品牌的日期、访客、客单、转化、所属类目(细分行业)等数据:
习惯性的打开Excel,我开始盘算:最终需求是要筛选出近一年销售额总和排名前5的品牌,这一摊子数据,对单独的一张表进行分类汇总,能够得到该细分行业各品牌的销售额,想要得到所有行业的销售额总和,得分类汇总128次,最后对128次结果再次合并。
“这个任务看上去很艰巨,不过,考验的主要是体力。”
我一眼就“看穿”了事情的本质,右手食指在鼠标上飞速跳动,以90秒一张表格的速度疯狂推进。按照这个速度,不考虑疲劳值对速度的拖累,大概3.2个小时就能够完成任务。
然而,刚开始还没3分钟,老板找到我:刚交你的任务暂时不用做了,新来的已经得出结论了,看着还挺专业。
多年来的职业敏感性驱使我立马跟新同事聊了一下,“刚刚那些表分分钟就搞定了,很简单!”他演示给我看,“我就使用了几行Python代码......”
首先,导入模块,打开单个表格:
接着,汇总不同品牌在这个细分行业下的销售额,没有销售额的字段,可以通过访客数转化率客单价三者的乘积来计算:
按品牌来汇总销售额,得到近一年各品牌销售额合计:
对于单独行业的销售额,应该加一个区分的标签以防覆盖,而打开时候的文件名,具有天然的区分和防覆盖优势,但要注意去掉文件的后缀。
OK,单个表格处理完成,我们把这一系列操作推而广之即可。用os.listdir方法来遍历文件名,批量循环访问并处理文件,同时引入time计时,打算看一看,面对128张表,Python完成这些操作到底能够比手动快多少:
WOC,整个过程一气呵成,不到3秒,平均一张表格0.02秒!真香!
为了确保数据正常,来预览一下:
这一串看起来很奇怪的销售额,是pandas自作主张把实际销售额变成了科学记数法形式来展示,要还原数值,需要更改一下原始的设置:
我本以为学会Excel走遍天下,没想到Python效率这么高!
文源网络,仅供学习之用,侵删。
在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会! https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python学习资料》
关注公众号【Python圈子】,优质文章每日送达。
来源:oschina
链接:https://my.oschina.net/u/4477231/blog/4279310