当前位置: 首页 > news >正文

影刀RPA 数据分组汇总:分类统计与交叉报表

影刀RPA 数据分组汇总:分类统计与交叉报表

作者:林焱

什么情况用什么

有一张明细数据表,需要按各种维度汇总——按部门统计人数和平均工资、按地区×产品交叉统计销售额、按月份统计环比增长。在影刀RPA里用pandas的groupby和pivot_table可以快速生成各种汇总报表。

适用场景:月度/季度汇总报表、多维度交叉分析、分类统计、数据概览报表。

怎么做

基础分组统计

拼多多店群自动化报活动上架!

importpandasaspd df=pd.read_excel(r"C:\Data\sales_detail.xlsx")# 单列分组by_region=df.groupby('地区').agg(订单数=('订单ID','count'),总金额=('金额','sum'),平均金额=('金额','mean'),最大金额=('金额','max')).round(2).reset_index()# 多列分组by_region_product=df.groupby(['地区','产品类别']).agg(订单数=('订单ID','count'),总金额=('金额','sum')).reset_index()

交叉报表

# 地区(行) × 产品类别(列) 交叉统计金额cross=pd.pivot_table(df,values='金额',index='地区',columns='产品类别',aggfunc='sum',fill_value=0,margins=True,# 添加合计margins_name='总计')![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b94ee7d7c267446cbeb8ad56799980bf.png#pic_center)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6a8734a419844de38b9d412237f13a7e.png#pic_center)# 多值交叉cross_multi=pd.pivot_table(df,values=['金额','数量'],index='地区',columns='产品类别',aggfunc={'金额':'sum','数量':'sum'},fill_value=0)

时间维度汇总

# 按日期转换为时间格式df['日期']=pd.to_datetime(df['日期'])# 按月汇总df['月份']=df['日期'].dt.to_period('M')monthly=df.groupby('月份').agg(订单数=('订单ID','count'),总金额=('金额','sum')).reset_index()# 按周汇总df['周']=df['日期'].dt.to_period('W')weekly=df.groupby('周').agg(总金额=('金额','sum'))# 按季度汇总df['季度']=df['日期'].dt.to_period('Q')quarterly=df.groupby('季度').agg(总金额=('金额','sum'))# 环比/同比增长monthly['环比增长']=monthly['总金额'].pct_change()

多级分组汇总

defgenerate_summary_report(df,output_path):"""生成多维度汇总报表"""withpd.ExcelWriter(output_path,engine='openpyxl')aswriter:# 1. 按地区汇总r1=df.groupby('地区').agg(订单数=('订单ID','count'),总金额=('金额','sum'),平均金额=('金额','mean'),最大订单=('金额','max'),独立客户数=('客户ID','nunique')).round(2).reset_index()r1.to_excel(writer,sheet_name='按地区',index=False)# 2. 按产品汇总r2=df.groupby('产品类别').agg(订单数=('订单ID','count'),总数量=('数量','sum'),总金额=('金额','sum')).sort_values('总金额',ascending=False).reset_index()r2['金额占比']=(r2['总金额']/r2['总金额'].sum()*100).round(2).astype(str)+'%'r2.to_excel(writer,sheet_name='按产品',index=False)# 3. 地区×产品交叉表r3=pd.pivot_table(df,values='金额',index='地区',columns='产品类别',aggfunc='sum',fill_value=0,margins=True,margins_name='合计')r3.to_excel(writer,sheet_name='交叉分析')# 4. 月度趋势df['月份']=df['日期'].dt.to_period('M').astype(str)r4=df.groupby('月份').agg(订单数=('订单ID','count'),总金额=('金额','sum')).reset_index()r4['环比增长']=(r4['总金额'].pct_change()*100).round(2).astype(str)+'%'r4.to_excel(writer,sheet_name='月度趋势',index=False)# 5. TOP10客户r5=df.groupby('客户名称').agg(订单数=('订单ID','count'),总金额=('金额','sum')).nlargest(10,'总金额').reset_index()r5.insert(0,'排名',range(1,11))r5.to_excel(writer,sheet_name='TOP10客户',index=False)returnoutput_path# 使用generate_summary_report(df,r"C:\Data\summary_report.xlsx")

自定义聚合函数

# 自定义聚合:计算每个地区的金额中位数和标准差defcustom_agg(df):returnpd.Series({'中位数':df['金额'].median(),'标准差':df['金额'].std(),'变异系数':df['金额'].std()/df['金额'].mean()ifdf['金额'].mean()!=0else0,'偏度':df['金额'].skew(),})result=df.groupby('地区').apply(custom_agg).reset_index()

分组后筛选

# 只保留总金额超过10万的地区region_sum=df.groupby('地区')['金额'].sum()big_regions=region_sum[region_sum>100000].index df_big=df[df['地区'].isin(big_regions)]![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8e8d10b8273f4633a02bd88b05047dec.png#pic_center)# 或用transformdf['地区总额']=df.groupby('地区')['金额'].transform('sum')df_big=df[df['地区总额']>100000]

有什么坑

坑1:分组后某些组缺失

TEMU店群矩阵自动化运营核价报活动

# 问题:只有北京和上海有数据,结果没有广州result=df.groupby('地区')['金额'].sum()# 解决:用reindex补全![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cadb626289b540febf68519e0d83b7bc.png#pic_center)all_regions=['北京','上海','广州','深圳']result=df.groupby('地区')['金额'].sum().reindex(all_regions,fill_value=0)

坑2:pivot_table的合计行排序错乱

# 问题:margins=True的"合计"行不在最后pivot=pd.pivot_table(df,values='金额',index='地区',columns='产品',aggfunc='sum',fill_value=0,margins=True,margins_name='合计')# 合计可能按拼音排在中间# 解决:手动调整row_order=[rforrinpivot.indexifr!='合计']+['合计']pivot=pivot.loc[row_order]col_order=[cforcinpivot.columnsifc!='合计']+['合计']pivot=pivot[col_order]

坑3:多列agg列名混乱

# 问题:agg用字典方式产生多层列名result=df.groupby('地区').agg({'金额':['sum','mean'],'数量':'count'})# 列名是('金额', 'sum')这种格式# 解决:用命名聚合![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/99ddc947851045c5b922034d2bce9309.png#pic_center)result=df.groupby('地区').agg(总金额=('金额','sum'),平均金额=('金额','mean'),订单数=('数量','count')).reset_index()

坑4:日期分组后Period类型无法写入Excel

# 问题:to_period('M')返回Period类型,to_excel报错df['月份']=df['日期'].dt.to_period('M')# Period类型df.to_excel(output)# 可能报错# 解决:转为字符串df['月份']=df['日期'].dt.to_period('M').astype(str)

坑5:分组统计后百分比计算错误

# 问题:想计算每个地区占总金额的百分比result=df.groupby('地区')['金额'].sum()# 直接除会报错或结果不对# 正确方式total=df['金额'].sum()result=df.groupby('地区')['金额'].sum()result_pct=(result/total*100).round(2)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/db8e699267394a81993767110e5c1dc1.png#pic_center)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/83312825945a4c8eac43c11d9a565ea4.png#pic_center)# 或在agg中计算result=df.groupby('地区').agg(总金额=('金额','sum'))result['占比']=(result['总金额']/result['总金额'].sum()*100).round(2)
http://www.jsqmd.com/news/1197203/

相关文章:

  • 储能容量优化配置, 遗传算法+cplex迭代求解综合能源双层规划 综合能源系统储能容量双层优化配置(遗传算法+CPLEX)
  • Django CMS 完整指南:5个步骤快速搭建企业级内容管理系统
  • 2026年7月最新亨得利官方服务项目及价格查询|维修地址与客服电话权威信息通知 - 亨得利官方
  • LSTM如何缓解梯度消失:门控机制与梯度流动原理详解
  • 三个AI项目杀疯了!学习效率办公全给你包了
  • PYNQ-Z2开发板:Python与FPGA的硬件加速实践
  • Matlab中使用FFT分析噪声信号的频率成分
  • 3分钟学会多平台同步直播:obs-multi-rtmp插件终极配置指南
  • SMUDebugTool:AMD Ryzen处理器底层调试与超频控制技术解析
  • C++语法入门实战:信奥赛学习路径与核心模块精讲
  • ADV7612四通道HDMI多路复用方案设计与应用
  • echart中tooltip与legend中的formatter
  • 2026年美业收银系统评测:八家主流品牌功能、价格与适用场景全面对比 - 资讯焦点
  • 从省三到国奖:我的微信小程序应用开发赛进阶复盘与选题策略
  • 2026 年新消息:泾川正规的危险品证延期厂家哪家好,证期到了?这5个操作让你绕开漫长等待 - 品质体验官
  • Unity 2D物理旋转控制:Rigidbody 2D与Rotation避坑指南
  • G-Helper:华硕笔记本性能控制革命性指南 - 突破性轻量级解决方案深度解析
  • FSearch:Linux系统毫秒级文件搜索的终极解决方案
  • UART串口通信:从物理层到协议层的实战解析
  • (2026最新)淮北防水补漏本地人必选的正规靠谱公司推荐-房屋漏水检测维修师傅上门-卫生间/厨房/阳台/房顶/外墙漏水检测精准测漏 - 即刻修防水
  • 智能电子表格:Airtable、Vika、NocoDB、teable、APITable
  • 2026 年现阶段朝阳值得关注的红冠红枫基地格局重塑与选型新思路,别再错过!这两种色彩如何重塑你的生活? - 企业推荐管【认证】
  • 单片机电路设计:11个关键模块与常见问题解析
  • 告别Python依赖!C#原生实现AI视觉推理,降低工控机部署复杂度
  • 大模型API服务工程化:延迟、上下文与协议容错实战指南
  • 格拉苏蒂中国官方售后服务中心|完整地址及官方电话权威信息公示(2026年7月最新) - 亨得利钟表维修中心
  • (2026最新)淮北漏水检测维修师傅上门-正规防水补漏公司本地居民实测推荐五家-卫生间/屋顶/厨房/阳台/外墙/地下室专业仪器精准检测漏水点 - 安佳防水
  • 单片机入门实战:低成本开发与模块化学习指南
  • AMapPoi解决方案:构建企业级地理数据处理工作流的核心工具
  • 从零到一:Logisim仿真环境下的存储器容量扩展实战