太秀了!用Pandas秒秒钟搞定24张Excel报表,还做了波投放分析!(上)

简介: 关于Python批量操作Excel的问题,大家的关注点主要是如何循环遍历表格、如何用Pandas批量处理,为此,我用基于实际业务的脱敏数据,以完整小项目的形式,来集中解决这些问题。

项目背景


不吹牛集团这几年孵化了50个品牌,在各渠道做了大量品宣层面的曝光。现在集团首席吹牛官提了两个需求:


1. 要一张大表,包含每个月搜索人数TOP5的品牌相关数据,以及对应品牌在当月的搜索份额和排名。


2. 在现有数据基础上,找到最近一年投放效果还不错的品牌,要吹吹牛,做年度表彰。


这是小z特别准备的两个具有代表性的需求:


  • 第一种:业务方已经定好了条条框框,需要数据分析师做的是取数和处理的工作,这样的“分析”工作,坑往往在于取数和清洗的复杂性。

  • 第二种:业务方自己想了个模糊的方向,需要分析师结合实际数据,定逻辑,给建议。


数据预览


话音未落,集团首席吹牛官的跟屁虫就把相关源数据丢过来了


image.png


一共24张Excel表格,按月存储,涵盖了从2019年1月到2020年12月的数据。


表格内部数据大同小异:


image.png

注:点击人数和支付人数,都是在搜索人数基础上统计的


每张表都有50个品牌,包括了品牌名、品牌搜索人数、点击人数和对应的支付人数这几个关键字段。


源数据就是这样简简单单中又透漏着麻麻烦烦,接下来,我们就开始手撕需求。



项目一:Python批量操作


开始动手前,我们要明确需求。


再回顾一下首席吹牛官的第一个需求:要一张大表,包含每个月搜索人数TOP5品牌的相关数据,以及对应品牌在当月的搜索份额和排名。


提炼:在现有源数据的基础上,我们还需要对各品牌月内按搜索人数排序,然后计算每个品牌搜索份额,取其前5,最后遍历汇总。


自动化之哥曾经说过:Python批量操作Excel,无论表格再多,处理逻辑再复杂,只要我们集中力量击破一张,就能够实现批量操作的全面胜利。


首先,我们要解决的是单张表的问题。


按搜索人数排序:


image.png


调用rank快速给到对应的排名:


image.png


再来计算搜索份额,搜索份额的计算公式:单品牌搜索人数/所有品牌搜索人数汇总,用Pandas计算,怎一个easy了的!


image.png


正当我们准备批量执行操作,首席吹牛官发来了消息:


“需求一略有调整,投资人最关注的是凌云这个品牌,要求在汇总表中,每个月凌云品牌的相关指标排在最前面,后面跟着搜索排名TOP5的品牌”。


具体排名逻辑如图所示:


image.png


面对需求的临时改动,见过大风大浪的我们内心没有一丝波澜,甚至还有一点想笑。小事一桩,改改Pandas逻辑就好了。


先找到目标品牌凌云:


image.png


再按照顺延的逻辑,定位TOP5品牌相关数据:


image.png


合并即可获取我们想要的结果:


image.png


相关文章
|
2月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
60 1
|
2月前
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
110 0
|
14天前
|
分布式计算 数据可视化 大数据
Vaex :突破pandas,快速分析100GB大数据集
Vaex :突破pandas,快速分析100GB大数据集
|
14天前
|
存储 数据挖掘 API
多快好省地使用pandas分析大型数据集
多快好省地使用pandas分析大型数据集
|
1月前
|
Python
【Python】解决pandas读取excel,以0向前填充的数字会变成纯数字
本文介绍了两种解决Python使用pandas库读取Excel时,数字前填充的0丢失问题的方法:一是在读取时指定列以字符串格式读取,二是在Excel中预先将数值转换为文本格式。
58 0
【Python】解决pandas读取excel,以0向前填充的数字会变成纯数字
|
14天前
|
算法 数据挖掘 Java
日常工作中,Python+Pandas是否能代替Excel+VBA?
日常工作中,Python+Pandas是否能代替Excel+VBA?
|
27天前
|
Python
Pandas 读取 Excel 斜着读
Pandas 读取 Excel 斜着读
14 0
|
1月前
|
关系型数据库 MySQL Shell
pandas读取mysql并导出为excel
pandas读取mysql并导出为excel
|
2月前
|
开发者 Python
【Python】已解决:(pandas read_excel 读取Excel报错)ImportError: Pandas requires version ‘2.0.1’ or newer of ‘x
【Python】已解决:(pandas read_excel 读取Excel报错)ImportError: Pandas requires version ‘2.0.1’ or newer of ‘x
73 0