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

如何实现Pandas DataFrame到指定透视结构的格式转换

实现代码

import pandas as pd

# 示例数据构造
sample = {'Country' : ["US","US","US","UK","UK","UK"],
          "Indicator": ["Tax","Import","Export","Tax","Import","Export"],
          "2019":[1,2,3,4,5,6],
          "2020":[7,8,9,10,11,12],
          "2021":[13,14,15,16,17,18]}
sample_df = pd.DataFrame(sample)

# 核心转换逻辑
# 第一步:把年份列从宽格式转成长格式
melted_df = sample_df.melt(id_vars=["Country", "Indicator"], var_name="Date", value_name="Val")
# 第二步:把Indicator维度从行转成列
target_df = melted_df.pivot(index=["Country", "Date"], columns="Indicator", values="Val").reset_index()
# 清除列名的额外标识,和目标结构完全对齐
target_df.columns.name = None

逻辑说明

  • melt操作保留Country、Indicator两列不动,将散列的2019/2020/2021年份列收拢为统一的Date字段,对应数值存入Val字段
  • pivot操作按Country、Date分组,把Indicator的不同取值(Tax/Import/Export)展开为独立列,对应位置填充匹配的数值
  • 最后重置索引、清除列名标识,输出结果和你要求的目标结构完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:36:03