原标题:Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集

作者 | 周志鹏

责编 | 刘静

有不少旁友想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎便有了本文。这篇文章算是Python数据分析实战的第二个独立案例。

案例背景

在另一个平行世界,有一家专注于户外运动的巨头公司。既然是巨头,为了更加亲切,我们就叫他大头吧。大头的旗下有20个品牌,这些品牌涉及到128个类目(细分行业),涉及范围之广令人咋舌,可谓遍地开花。

平行世界的小Z就是这家巨无霸的数据分析师,今天刚来公司就接到了一个需求——下班前务必筛选出近一年销售额总额TOP5的品牌以及对应的销售额。

近一年?TOP5?

WOC,这么简单的需求也算需求?直接排个序不就好了。

还一天时间,不急不急,先来一杯咖啡,再看看新闻。

一眨眼的功夫,时间来到了17:30,小Z觉得今天的需求可以开动了,做完之后还能简单分析一下,应该能赶在18:00整点下班。

当他打开同事共享给他的表格文件,他才体会到,绝望,原来这么远,又这么近。

业务部门的同事总共发来了128张表,每一份表格对应着一个细分行业的数据,像什么各类户外服装、垂钓装备、救生装备应有尽有。

每张表,以月的维度(2018年9月-2019年8月,近一年)记录着每个品牌的日期、访客、客单、转化、所属类目(细分行业)等数据:

注:不要问为啥表格数据存储这么奇葩,因为在平行世界,就是要任性,毕竟复杂的表格才能体现出Python的高效

小Z开始盘算,最终需求是要筛选出近一年销售额总和排名前5的品牌,这一摊子数据,对单独的一张表进行分类汇总,能够得到该细分行业各品牌的销售额,想要得到所有行业的销售额总和,得分类汇总128次,最后对128次结果再次合并。

“这个任务看上去很艰巨,不过,考验的主要是体力。”小Z一眼就“看穿”了事情的本质。同时脑海中蹦出了“红军不怕远征难”几个红彤彤的大字。接着,他带上耳机,打开了唐朝乐队的“国际歌”,在双重buff的加持下,开始了表格的远征。

果然是个处理数据的好手,小Z右手食指在鼠标上飞速跳动,以90秒一张表格的速度疯狂推进。按照这个速度,不考虑疲劳值对速度的拖累,大概3.2个小时就能够完成任务。

国际歌循环到第10遍,小Z有些气馁,第20遍,开始感到绝望。

就在行将放弃之际,他想起了Python的潘大师(Pandas),虽然最近刚学还不是很熟练,但事到临头,黑暗中的一缕微光,那就是唯一的希望,小Z决定用Pandas来尝试解决问题。

他明白,用Python解决批量问题的核心,在于梳理并解决单个问题,然后批量循环。

单个表格处理

首先,导入模块,打开单个表格:

接着,是要汇总不同品牌在这个细分行业下的销售额,我们要汇总的是各品牌近一年(2018年9月-2019年8月)的销售额,先看看日期是否正确:

正要汇总销售额,小Z发现没有销售额的字段,但销售额是可以通过访客数*转化率*客单价三者的乘积来计算的:

按品牌来汇总销售额,得到近一年各品牌销售额合计:

这里有个细节,最终小Z要汇总的是所有细分行业的销售额,对于单独行业的销售额,应该加一个区分的标签以防覆盖,而打开时候的文件名,具有天然的区分和防覆盖优势,但要注意去掉文件的后缀。

OK,单个表格处理完成,我们把这一系列操作推而广之即可。

批量循环执行

小Z用os.listdir方法来遍历文件名,批量循环访问并处理文件,同时引入time计时,打算看一看,面对128张表,Python完成这些操作到底能够比手动快多少:

WOC,整个过程一气呵成,不到3秒,平均一张表格0.02秒!真香!

为了确保数据正常,来预览一下:

这一串看起来很奇怪的销售额,是pandas自作主张把实际销售额变成了科学记数法形式来展示,要还原数值,需要更改一下原始的设置:

OK,无论是习惯还是法理,都得到了我们希望的结果——近一年销售TOP5品牌及其对应的销售额。从数据结果来看,大头公司下的20个品牌全面开花,以品牌5为先锋,一年销售高达12.26亿,排名最后的品牌体量也达到了9.79亿元,平均单品牌销售10.85亿元。

总结

本文以一个简单又复杂的场景切入,简单是需求本身非常简单,而复杂则是基础数据涉及到的表格多而杂。代码和逻辑本身浅显易懂,主要为了抛出一块砖,敲开批量处理表格的思维藩篱,以引出同志们实践中,在合适场景下用Python来化繁为简的玉。案例中表格共128张,大家可以自己尝试和探索更有趣的分析。

数据资料GitHub下载地址:https://github.com/seizeeveryday/DA-cases/tree/master/Python%2Bexcel

作者:周志鹏,2年数据分析,深切感受到数据分析的有趣和学习过程中缺少案例的无奈,遂新开公众号「数据不吹牛」,定期更新数据分析相关技巧和有趣案例(含实战数据集),欢迎大家关注交流。

声明:本文为作者投稿,版权归作者个人所有。返回搜狐,查看更多

责任编辑:

python 销售数据分析输出表格_Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集...相关推荐

  1. python 做表格分析_Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集

    原标题:Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集 有不少旁友想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎 ...

  2. python 做表格分析难么_Python处理分析128张Excel表格竟然不到3秒?

    不少粉丝留言,想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎便有了本文. 这篇文章算是Python数据分析实战的第二个独立案例. 注:案例12 ...

  3. python汇总excel表_Python 处理分析 128 张 Excel 表格竟不到3秒?|附数据集

    作者 | 周志鹏 责编 | 刘静 有不少旁友想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎便有了本文.这篇文章算是Python数据分析实战的第 ...

  4. 计算营业额python代码_真香还是假香,Python处理分析128张Excel表格竟然不到3秒?| 附案例数据集...

    原标题:真香还是假香,Python处理分析128张Excel表格竟然不到3秒?| 附案例数据集 作者:吹牛Z 本文转自公众号:数据不吹牛 更新完Pandas基础教程,后台有不少旁友留言,想要了解怎么用 ...

  5. Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集

    作者 | 周志鹏 责编 | 刘静 有不少旁友想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎便有了本文.这篇文章算是Python数据分析实战的第 ...

  6. 真香还是假香,Python处理分析128张Excel表格竟然不到3秒?

    作者:吹牛Z 来源:数据不吹牛 更新完Pandas基础教程,后台有不少旁友留言,想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎便有了本文.这篇 ...

  7. python 销售数据分析输出表格_Python处理Excel数据实例--销售数据分析

    数据分析笼统来说,大概分为五个步骤:提出问题.理解数据.数据清洗.构建模型.数据可视化.在数据分析中,很基础又关键的一步就是数据清洗,对原始数据的处理会花掉整个分析过程的很大一部分时间,这是因为如果前 ...

  8. python 销售数据分析输出表格_Python实现将数据库一键导出为Excel表格的实例

    Python实现将数据库一键导出为Excel表格的实例 下面小编就为大家带来一篇Python实现将数据库一键导出为Excel表格的实例.小编觉得挺不错的,现在就分享给大家, 数据库数据导出为excel ...

  9. python商业数据分析报告范文_python案例分析之电商销售数据分析

    import pandas as pd #读取文件 data= pd.read_csv('./dataset.csv') ########################### 查看数据概览 #### ...

最新文章

  1. OPENGL ES 对象的拾取
  2. failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
  3. linux 上删除docker 虚悬镜像
  4. GO To Definition的背后操作【VS2015 C#】
  5. Exchange2010之典型安装
  6. mysql主从架构备份,mysql数据库容灾实时备份主从架构
  7. hibernate 别名_Hibernate:在sqlRestriction上使用联接表别名
  8. 【HDU - 5455】Fang Fang(水题,有坑)
  9. string转map集合_集合(下)
  10. c#二叉树 取叶子节点个数_图文并茂方式轻松掌握数据结构之二叉树和B树!
  11. 渗透之——Metasploit命令及模块
  12. Java订单接入支付宝二 支付回调
  13. Android热修复之阿里Sophix的使用详解
  14. [单片机] KeilC51单块数码管演示与原理
  15. 基于Python的指数基金量化投资-通过市盈率和市净率对指数估值
  16. Easy Iot实现MQTT实验
  17. AR虚拟互动系统创造身临其境的多元互动体验
  18. TextView实现水平滚动
  19. 由中序和后序(前序)序列求前序(后序)序列
  20. 喜马拉雅-处世人生-老炮儿崔哥侃美国(完结)

热门文章

  1. PDFMarker文件遗失,要在修复模式下运行安装程序吗
  2. 我的理想计算机作文300字,我的理想作文300字
  3. python输出分数
  4. 摄像头监控录像保存到手机(旧手机/废弃手机)本文使用手机为红米Note5 Plus
  5. 【面经】2023年软件测试面试题大全(持续更新)附答案
  6. android 添加todo,Android程序ToDoList增加配置项页面
  7. matlab产生电弧信号,Matlab7.0下电弧模型的建立与分析
  8. 5G NR 频率范围和工作频段
  9. 致敬一个渐行渐远的时代!
  10. Delphi XE GDI+编程