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

Excel数字密码:从神秘序列到可读日期的转换法则 本文揭秘Excel中数字与日期格式转换的奥秘,详细解析了从神秘序列如'43983'到可读日期的转换法则。通过基准日期、时间小数表示等核心概念,结合Python代码示例,帮助用户高效处理金融报表、数据分析中的日期问题,提升Excel格式转换的准确性与效率。 阅读详情

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料、代码以及交流解答点击即可加入


今天来讲讲关于Python批量操作Excel的问题。
大家的关注点主要是如何循环遍历表格、如何用Pandas批量处理,当然,还有在996的压迫下如何提效(来挤出更多摸鱼时间)。

 

 

为此,我特意肝了几天,用基于实际业务的脱敏数据,以完整小项目的形式,来集中解决这些问题。

项目背景

不吹牛集团这几年孵化了50个品牌,在各渠道做了大量品宣层面的曝光。现在集团首席吹牛官提了两个需求:
1. 要一张大表,包含每个月搜索人数TOP5的品牌相关数据,以及对应品牌在当月的搜索份额和排名。
2.在现有数据基础上,找到最近一年投放效果还不错的品牌,要吹吹牛,做年度表彰。

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

  • 第一种:业务方已经定好了条条框框,需要数据分析师做的是取数和处理的工作,这样的“分析”工作,坑往往在于取数和清洗的复杂性。
  • 第二种:业务方自己想了个模糊的方向,需要分析师结合实际数据,定逻辑,给建议。

数据预览

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

 

 

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

表格内部数据大同小异:

 

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

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

 

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

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

项目一:Python批量操作

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

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

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

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

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

按搜索人数排序:

 

 

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

 


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

 

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

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

具体排名逻辑如图所示:

 

 

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

先找到目标品牌凌云:

 

 

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

 


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

 

单表操作完成,批量操作,只需要建立好循环+合并关系,并引入日期列,在合并结果中对不同的表数据做好区分:


result = pd.DataFrame()

for name in os.listdir():
    df = pd.read_excel(name)
    df = df.sort_values('品牌搜索人数',ascending = False)
    df['搜索人数排名'] = df['品牌搜索人数'].rank(ascending = False)
    df['搜索份额'] = df['品牌搜索人数'] / df['品牌搜索人数'].sum()
    
    brand = '凌云'
    brand_data = df.loc[df['品牌'].str.find(brand) != -1,:]
    
    other = df.loc[df['品牌'].str.find(brand) == -1,:]
    other_top5 = other.iloc[:5,:]
    data = pd.concat([brand_data,other_top5])
    data['日期'] = name[4:-5]
    
    result = pd.concat([result,data])

 

Pandas批量操作,就是如此丝滑~

第一个需求搞定。

项目二:品牌投放分析

还记得那个明(che)确(dan)的需求吗?

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

首席吹牛官以成本数据过于机密为由,除了说各品牌费用基本无差别之外,没有透露任何关于成本方面的数据,我们自然也无法计算投放ROI了这些核心指标了。

目前能够拿到的,只有品牌、搜索人数、点击人数和对应支付人数这几个指标。

要找到最近一年投放效果还不错的品牌,我们可以用漏斗思维,从量级(人数)和效率(转化率)两个角度来考虑:


在费用无差别的情况下:

 

  • 人群基数大(搜索人数),表示投放的心智效果不错,让更多用户被广告触达后,在平台主动搜相关的品牌。
  • 搜索-点击转化率高,代表了搜索结果的精准度,搜索后展示页面的吸引力等等
  • 点击-支付转化率高,更可能受产品详情页面、活动力度等影响

在项目二场景中,三个指标越高越好。接下来,我们就结合搜索人数,搜索-点击转化率和点击-支付转化率,用Pandas做一波分析。

要对最近一年的数据做分析,我们先把2020年所有数据合并,拿到汇总表:

 

 

再按品牌的维度,做指标汇总:

 


计算对应的搜索-点击转化率,点击-支付转化率:

 

基础数据齐活了!

从仅有的head5数据可以看到,双敏品牌以160万的搜索人数独占鳌头,但是!排名第二的九方,虽然搜索人数少了40多万,却能凭借较高的搜索-点击转化率和点击-支付转化率,在支付人数上远超双敏,成为支付之王。

表格太晦涩,我们画个图吧:
注:因为分析背景是无差别投放,搜索人数重要性非常高,为了可视化简洁清晰,我们简单粗暴的筛选TOP15品牌来绘图

气泡大小代表着品牌搜索人数量级

气泡大小代表着品牌搜索人数量级


根据气泡图,我们按照搜索-点击转化率和点击-支付转化率的高低划分了4个区间:

 

  • 区间1:高搜索-点击转化,高点击-支付转化
  • 区间2:低搜索-点击转化,高点击-支付转化
  • 区间3:低搜索-点击转化,低点击-支付转化
  • 区间4:高搜索-点击转化,低点击-支付转化

再结合数据表,看的更加清晰:

 

 

结果显而易见,高搜索量级的品牌,主要呈现出两种形态:

  • 以双敏(排名第1)、巨奥(排名第3)为代表的品牌主要分布在第三区间,量级较大,但两种转化效率均需要进一步提升,品牌没能较好的承接蜂拥而至的流量。
  • 九方(排名第2)、商软(排名第4)则是高搜索量级、高转化效率的代表,从现有数据看,他们才是不吹牛集团学习的榜样。

正当我们准备把这一步结果同步给首席吹牛官,顺便探讨进一步的数据分析方向,比如结合支付人数的金额贡献、留存率、LTV,以及引入两年增速的维度,结合业务动作来定位深层原因。

没想到首席吹牛官发来了这样的消息:

“第二个需求我可能没说清楚,这次不仅是表彰,也是给融资机构秀肌肉的一部分,我们关注的只是品牌声量,对应的就是品牌搜索人数这个指标,你汇总好排个序就好”


我们每个人会说超过5种语言的脏话,但在这个场景,大部分人只能条件反射般的打出这8个字:

 

“嗯嗯,好的,马上给到”

实例故事告一段落,上述数据维度和验证角度,大家可以做更多的探索。

德州仪器ADS7851EVM-PDK评估套件:双通道14位ADC性能验证与数据采集实战 模数转换器(ADC)是连接模拟世界与数字系统的关键桥梁,其核心原理是将连续的模拟信号离散化为数字代码。SAR型ADC凭借其高精度和中等速度的平衡,在工业自动化、测试测量等领域广泛应用。评估高性能ADC时,信号链完整性、电源噪声抑制和时钟稳定性是决定其技术价值的关键。ADS7851EVM-PDK评估套件通过集成全差分放大器、低噪声基准源和完整的软硬件平台,为工程师提供了开箱即用的验证方案,能够高效评估双通道同时采样、14位分辨率ADC的动态性能与直流精度,并支持FFT频谱分析、直方图统计等高级功能,助力快速完 阅读详情

相关推荐

工业负荷数据分析实战:从数据清洗到预测模型构建

在工业互联网与智能制造领域,时序数据分析是挖掘生产潜力的核心技术。其原理在于通过采集设备运行数据,运用数据清洗、特征工程等方法,将原始信号转化为可解释的信息。这项技术的核心价值在于实现生产过程的透明化管理与能效优化,广泛应用于能耗成本分析、设备预测性维护及生产智能调度等场景。本文以工厂小时级负荷数据为具体载体,深入探讨了如何利用特征工程构建强解释性特征,并基于LightGBM模型实现精准的负荷预测,为工业数据分析实践提供了从原理到落地的完整路径。

weixin_34409357的博客 311

数据分析 大数据之路 五 pandas 报表

pandas: 在内存中或对象,会有一套基于对象属性的方法, 可以视为 pandas 是一个存储一维表,二维表,三维表的工具, 主要以二维表为主 一维的表,      (系列(Series)) 二维的表,DataFrame, 也叫报表 三维的表,(面板(Panel)) 文本格式 : CSV 以文本方式存储, item 之间用逗号分割,记录与记录之间以回车分开 , 可...

weixin_30875157的博客 227

pandas处理excel报表

这只是使用pandas对excel报表操作而已。可以学习,用来处理大量表格汇总数据。不能100%满足大众需求,so,学习下就好了

Python Pandas 做数据分析之玩转 Excel 报表分析

各位朋友大家好,非常荣幸和大家聊一聊用 Python Pandas 处理 Excel 数据的话题。因为工作中一直在用 Pandas,所以积累了一些小技巧,在此借 GitChat 平台和大家分享一下心得。 在开始之前我推荐大家下载使用 Anaconda,里面包含了 Spyder 和 Jupyter Notebook 等集成工具。到百度搜索一下就可以找到官方下载链接,下载个人版就可以(本文使用的 P...

马行处的博客 1万+

pandas-accounting:使用Pandas建立财务报表模型的库

熊猫会计 熊猫财务报表建模库

Android 13 系统定制:实现第三方Launcher预置与原生Launcher3的共存切换

本文详细介绍了在Android 13系统中实现第三方Launcher预置与原生Launcher3共存切换的技术方案。通过修改ResolverActivity逻辑、处理首次启动设置以及优化用户切换机制,开发者可以灵活定制默认Launcher,同时保留用户自由选择权。文章还提供了常见问题排查指南和性能优化建议,帮助提升双Launcher方案的稳定性和用户体验。

weixin_30275415的博客 127

Python自动化办公 :如何实现报表自动化?

第一步是对要做的报表进行步骤拆解,这个步骤拆解和用不用工具或者是用什么工具没有直接关系,比如做报表的第一步一般都是收集数据,这个数据可能是线下人员记录在纸质笔记本上的,也可能是存储在Excel表里面的,还有可能是存储在数据库里面的。上面只是得到了各指标的同环比绝对数值,但是我们一般的日报在发出去之前都要做一些格式调整的,比如调整字体之类的。第二步是去想第一步里面涉及到的每一个具体步骤对应的代码实现方式,一般都是去找对应每一步的代码,比如导入数据的代码是什么样的,再比如重复值删除的代码是什么样的。

m0_59596937的博客 1527

【实战指南】Jaspersoft Studio + JasperReports:从零构建企业级PDF报表

本文详细介绍了如何使用Jaspersoft Studio和JasperReports从零构建企业级PDF报表。通过可视化设计、数据连接、模板设计到最终输出的全链路支持,这套组合方案显著降低了报表开发的维护成本。文章还提供了开发环境搭建、中文乱码解决方案、Java集成代码及性能优化技巧,适合需要高效生成复杂PDF报表的开发者。

weixin_42666036的博客 247

11. Pandas :操作Excel文件(Excel报表的案例研究)

通过标准库 pathlib 模块中的 Path 类,你可以使用多种强大的工具:路径对象可以让你轻松地通过斜杠连接路径的分量来构造路径,就像在 this_dir / "sales_data" 及其下面 4 行代码中所展示的那样。每个月有两个文件,子文件夹 new 中的是新用户,子文件夹 existing 中的是老用户。脚本文件会从两个目录中读取 Excel 文件、汇总数据,最后将总结表写入一个新的 Excel 文件。从一个装有各种 Excel 文件的文件夹开始,这些文件需要被整合到 Excel 报表中。

weixin_74727170的博客 1122

用Python和CasADi实现高斯伪谱法:一个轨迹优化问题的保姆级教程

本文详细介绍了如何使用Python和CasADi框架实现高斯伪谱法解决轨迹优化问题。通过保姆级教程,从环境准备、问题建模到高斯伪谱法的核心实现,包括配点与权重计算、微分矩阵构造和动力学约束实现,最终完成问题求解与结果可视化。适用于机器人轨迹规划和无人机路径优化等工程场景。

weixin_30776273的博客 294

使用VNC可视化Docker容器

Docker容器可视化

Robert_Q的博客 1万+

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

如何循环遍历表格、如何用Pandas批量处理,当然,还有在996的压迫下如何提效(来挤出更多摸鱼时间)。 为此,我特意肝了几天,用基于实际业务的脱敏数据,以完整小项目的形式,来集中解决这些问题。 我的Pandas实战系列老传统,完整案例代码和数据源,已经打包好放在文末,顺便剧透文末还有送书活动。 项目背景 不吹牛集团这几年孵化了50个品牌,在各渠道做了大量品宣层面的曝光。现在集团首席吹牛官提了两个需求: 1. 要一张大表,包含每个月搜索人数TOP5的品牌相关...

weixin_46737755的博客 411

用Multisim和AD2复刻经典:手把手教你搭建μA741三角波-方波发生器(附完整避坑指南)

本文详细介绍了如何使用Multisim和AD2搭建基于μA741运算放大器的三角波-方波发生器,包括电路原理、Multisim仿真流程、AD2硬件搭建及调试技巧。通过对比理论计算、仿真和实测数据,深入分析器件非理想特性的影响,并提供16个典型问题的解决方案,帮助读者掌握波形发生器的设计原理和工程调试经验。

weixin_28744423的博客 284

Pandas读取Excel日期数据的异常处理

作者:小小明 异常描述 有时我们的Excel有一个调整过自定义格式的日期字段: 当我们用pandas读取时却是这样的效果: 不管如何指定参数都无效。 出现原因 没有使用系统内置的日期单元格格式,自定义格式没有对负数格式进行定义,pandas读取时无法识别出是日期格式,而是读取出单元格实际存储的数值。 解决方案:修改自定义格式 可以修改为系统内置的自定义格式: 或者在自定义格式上补充负数的定义: 增加;@即可 pandas直接解析Excel数值为日期 有时这种Excel很多,我们需要通过pa.

小小明-代码实体的专栏 2万+

SE-0526激光避障雷达扫描传感器输入输出连线方法及PLC联机实例说明

SE-0526激光避障雷达扫描传感器广泛应用于原材料运输与处理、移动装配、托盘或货架运输、产成品自动运输、生产线自动对接,餐厅自助送餐等AGV小车、服务机器人、仓储机器人、无人叉车导航、避障、定位等。 本文重点介绍SE-0526激光避障雷达扫描传感器输入输出连线方法及PLC联机实例说明。

华翔天诚科技 2695

【Educoder作业】※ 数字图像——绿幕抠像

这次作业比上一篇博客基本得多,大多都是基础函数的运用。没啥说的,就整个sizesizesize即可。 T2 获取一个像素 T3 图像反色 T4 修改透明度 ′RGBA′'RGBA'′RGBA′也是一种图像格式 T5 抠图 T6 添加场景 这个主要是pastepastepaste函数里面的maskmaskmask参量没整明白,转载一篇博客供参考。...

JZYshuraK的博客 7571

用Python写了个OEE计算工具:每天2小时→5秒(附完整代码)

【摘要】作者因每天手动计算设备综合效率(OEE)耗时2小时且易出错,开发了一个Python自动化工具。该工具使用Pandas处理MES系统导出的CSV数据,自动计算可用率、性能率和质量率三个OEE指标,并生成包含异常设备标记的Excel报表。核心功能包括:多设备批量分析、自动汇总统计(平均/最高/最低OEE)、低于85%OEE的设备预警。通过dataclass封装计算逻辑,代码结构清晰,执行时间从2小时缩短至5秒。未来计划增加邮件告警、趋势分析和根因诊断功能。文末提供了完整可运行的代码(Python3.9+

开发这点事儿 | 半导体智能制造与工业软件实战分享 234

【第33话:车辆控制】自动驾驶车辆运动学模型推导及详解

自动驾驶车辆的运动学模型以自行车模型为核心,通过状态方程。

一碗白开水一 831

【用 Python 自动处理进销存 Excel,分发给每个门店只需 1 秒钟】

用 Python 自动处理进销存 Excel,分发给每个门店只需 1 秒钟

weixin_47139678的博客 738

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Python蟒蛇书笔记+自己笔记

1.2 列表 [,] 列表 [] 是有序,可变集合,set {} 是无序集合,索引从0开始。 索引是负数表示从右开始,最右的个索引是-1 、、、 等修改列表的方法,返回的都是 。 my_list.sort()原地排序,永久改变,无返回值 sorted(my_list)不改变my_list,有返回值 1.3 元组 tuple (,) 元组是一种不可变的、有序的数据集合。使用小括号 定义,元素用逗号 隔开。 核心对比(列表 vs 元组): 列表 :可变(增删改),速度慢,用于动态数据。 元

异侠 370

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TI ADS8350 ADC评估套件实战:从硬件解析到性能测试全指南

模数转换器(ADC)是连接模拟世界与数字系统的核心桥梁,其性能直接决定了数据采集的精度与可靠性。ADC的工作原理是将连续的模拟信号离散化、量化,转换为微处理器可处理的数字码。高精度ADC的技术价值在于实现微弱信号的准确捕捉与数字化,是工业自动化、精密测量和仪器仪表等领域的关键。评估ADC的动态性能(如信噪比SNR、总谐波失真THD)和静态精度,是硬件设计中的重要环节。德州仪器(TI)的ADS8350EVM-PDK评估套件提供了一个完整的软硬件平台,集成了高性能双通道SAR ADC、精密参考电压源和信号调理电

jardownload的博客 623

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

深入解析ADS7851EVM-PDK:双通道同步采样ADC评估套件实战指南

模数转换器(ADC)是连接模拟世界与数字系统的关键桥梁,其性能直接影响数据采集的精度与可靠性。SAR(逐次逼近寄存器)型ADC因其在精度、速度和功耗间的良好平衡,成为工业测量、医疗设备和电力监控等领域的核心器件。其工作原理是通过内部DAC的逐次比较,将模拟电压量化为数字码值,技术价值在于实现高分辨率、低延迟的信号数字化。在需要多通道数据严格同步的应用场景,如电机控制中的多相电流检测或电力谐波分析,同步采样ADC能确保各通道在同一时刻捕获信号,对相位关系分析至关重要。本文聚焦于德州仪器(TI)的ADS7851

weixin_34192816的博客 599
上一篇: Python+Excel+Word一秒制作百份合同
下一篇: 忘掉sklearn,用Python徒手写线性回归
酸菜鱼编程
博客等级 码龄6年 155粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值