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

拆分DataFrame表头提取日期列后如何实现数据透视转换

DataFrame表头日期拆分转换方案

你当前的需求属于典型的宽表转长表场景,直接使用pandas内置的melt方法即可实现,无需自定义lambda函数或者pivot相关方法,代码更简洁易维护。

核心实现代码

import pandas as pd

# 假设你的原始DataFrame命名为df,核心转换逻辑如下
result = df.melt(
    id_vars=['Gerencia'],  # 指定不需要转换的固定维度列
    var_name='统计日期',  # 原表头的日期值会存入该新增列
    value_name='指标数值'  # 原表格内的数值会存入该新增列
)

# 可选:将统计日期转为datetime格式,方便后续按日期维度做聚合计算
result['统计日期'] = pd.to_datetime(result['统计日期'])

转换后效果示例

Gerencia      统计日期      指标数值
0  Ingeniería de Producción 2021-01-01  17.451383
1  Ingeniería de Producción 2021-01-01   0.000000
2  Ingeniería de Producción 2021-01-01  17.437412
3  Ingeniería de Producción 2021-02-01   7.633112
4  Ingeniería de Producción 2021-02-01   0.000000
5  Ingeniería de Producción 2021-02-01  14.656419
6  Ingeniería de Producción 2021-03-01   4.461760
7  Ingeniería de Producción 2021-03-01   0.000000
8  Ingeniería de Producción 2021-03-01   2.871140

后续聚合示例

转换后可以直接用groupby实现多维度聚合,比如按月份+部门统计指标总和:

monthly_total = result.groupby(
    [pd.Grouper(key='统计日期', freq='M'), 'Gerencia']
)['指标数值'].sum().reset_index()

内容的提问来源于stack exchange,提问作者Ari Blit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:57:04