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

如何在Pandas中堆叠合并三列数据,保留第四列并新增列记录原列名

三列数据堆叠合并实现方案

Python Pandas 实现

这种宽表转长表的需求可以直接用Pandas内置的melt函数完成,无需复杂循环处理:

  1. 导入依赖并构造示例数据:
import pandas as pd

# 替换为你的实际数据读取逻辑,比如pd.read_excel、pd.read_csv
df = pd.DataFrame({
    '待堆叠列1': ['a', 'b', 'c'],
    '待堆叠列2': ['d', 'e', 'f'],
    '待堆叠列3': ['g', 'h', 'i'],
    '关联保留列': ['关联值1', '关联值2', '关联值3']
})
  1. 执行转换:
res = df.melt(
    id_vars=['关联保留列'], # 不需要堆叠、要保留的关联列
    value_vars=['待堆叠列1', '待堆叠列2', '待堆叠列3'], # 需要合并堆叠的三列
    var_name='来源列', # 新列:标注每个值对应的原始列名
    value_name='合并值' # 新列:存放三列堆叠后的所有值
)
  1. 可选调整列顺序:
res = res[['合并值', '来源列', '关联保留列']]

Excel Power Query 实现

不需要写公式,用可视化操作即可完成:

  • 选中原始数据区域,点击「数据」选项卡 → 选择「从表格/区域」,导入Power Query编辑器
  • 选中不需要堆叠的关联保留列,右键点击「逆透视其他列」
  • 自动生成的「属性」列即为原始列名标注列,「值」列即为堆叠后的合并值列
  • 修改列名后点击「关闭并上载」,即可导出结果到Excel工作表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:54:02