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

如何在pandas中完成图示形式的数据合并操作

pandas数据格式转换实现方法

你要实现的是pandas中**宽表转长表(tidy格式)**的需求,对应有两种常用实现方式:

方法1:使用melt函数(最推荐,适配绝大多数场景)

假设你的原始数据示例结构如下:

地区1月销售额2月销售额3月销售额
北京120001500013000
上海180002100019000
广州90001000011000

要转换为「地区、月份、销售额」的长表结构,代码如下:

import pandas as pd

# 读取原始数据,可替换为read_csv等对应读取方法
df = pd.read_excel("你的原始数据路径.xlsx")

# 执行转换
result = df.melt(
    id_vars=["地区"],  # 不需要转换、保持固定的列
    var_name="月份",   # 原表头转换后对应的新字段名
    value_name="销售额" # 原单元格数值转换后对应的新字段名
)

方法2:使用stack函数(适合多层列名场景)

如果原始数据是多层列头的结构,用stack实现更便捷:

# 先把不需要转换的列设为索引
df = df.set_index(["地区"])
# 堆叠列索引后重置索引,即可得到长表结构
result = df.stack().reset_index()
# 按需重命名列
result.columns = ["地区", "月份", "销售额"]

结果验证

转换完成后可以执行print(result.head())查看前几行数据,确认是否符合预期格式。如果有多余列需要删除、或者字段名需要调整,可以直接调用drop、rename方法处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:36:04