You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现数据小计与总计:请求协助修正输出格式

解决数据集生成小计与总计的问题

我来帮你搞定这个需求!你当前用groupby得到的是分层索引的长格式统计结果,而想要的是类似Excel透视表的宽格式,还包含每日小计和整体总计。咱们一步步来调整代码:

步骤1:生成宽格式透视表

首先用pivot_table直接把数据转换成你需要的列布局,自动按日期和分类统计数量,缺失的分类填充0:

import pandas as pd

# 先确保日期列是datetime类型(如果原数据是字符串格式的话)
data['Column4'] = pd.to_datetime(data['Column4'])

# 统一分类名称的格式(比如把样本里的Non-Actionable改成Non-actionable,匹配你的预期输出)
data['Column5'] = data['Column5'].replace('Non-Actionable', 'Non-actionable')

# 生成透视表
pivot_df = data.pivot_table(
    index='Column4',
    columns='Column5',
    values='Column1',
    aggfunc='count',
    fill_value=0
)

步骤2:添加每日小计(Grand Total列)

给每行(每天)添加总计,也就是当天所有分类的数量之和:

pivot_df['Grand Total'] = pivot_df.sum(axis=1)

步骤3:添加整体总计(Grand Total行)

给每列添加总计,也就是每个分类的总数量,以及整体的总计数:

pivot_df.loc['Grand Total'] = pivot_df.sum(axis=0)

步骤4:调整日期格式(可选)

如果需要把日期转换成5/19/2018的格式,可以格式化索引:

# 先处理日期行的格式,再保留总计行的名称
date_index = pivot_df.index[:-1].strftime('%m/%d/%Y')
pivot_df.index = list(date_index) + ['Grand Total']

最终输出效果

运行完上面的代码后,你会得到和预期一致的结果:

Row Labels          Actionable  Duplicate  Informative  Non-actionable  Grand Total
5/19/2018           219         220        3            0               442
5/20/2018           5           270        859          2               1136
5/21/2018           8           295        17           0               320
5/22/2018           10          424        36           0               470
5/23/2018           8           157        3            0               168
5/24/2018           5           78         3            0               86
5/25/2018           3           80         0            0               83
Grand Total         39          1523       921          2               2485

关键说明

  • pivot_table是实现这种宽格式统计最直接的工具,比groupby后再unstack更简洁
  • fill_value=0确保没有数据的分类显示0,而不是空值
  • 统一分类名称的格式是为了匹配你预期输出的列名,避免因为大小写/符号差异导致列不对应

内容的提问来源于stack exchange,提问作者Dinesh Gedda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:47:50