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

如何使用Python按特定规则转置含门店列的表格?

Python实现表格特定转置方案

需求说明

原表格结构(宽表):

门店1月1日1月2日1月3日
门店A100150200
门店B80120180

转置后目标结构(长表):

门店日期数值
门店A1月1日100
门店A1月2日150
门店A1月3日200
门店B1月1日80
门店B1月2日120
门店B1月3日180

核心规则:将第一列(门店)以外的表头作为新列的取值,与第一列的每行值组合生成多行数据,所有门店重复此逻辑。

实现代码(使用Pandas)

Pandas的melt函数是处理这类宽表转长表需求的最优方案,代码如下:

import pandas as pd

# 读取原表格(Excel文件用read_excel,CSV文件用read_csv)
df = pd.read_excel("原表格.xlsx")

# 执行转置操作
transposed_df = df.melt(
    id_vars=["门店"],  # 第一列的列名,需根据实际表格调整
    var_name="日期",
    value_name="数值"
)

# 输出转置后的表格到文件
transposed_df.to_excel("转置后表格.xlsx", index=False)

# 打印查看结果
print(transposed_df)

代码说明

  • id_vars=["门店"]:指定保留不转置的列,确保每个门店的信息被保留。
  • var_name="日期":把原表格中除第一列外的表头(如1月1日、1月2日)作为新列"日期"的取值。
  • value_name="数值":将原表格对应单元格的数值存入"数值"列。
  • index=False:输出文件时不保留Pandas默认索引列,让表格更整洁。

若原表格第一列列名不是"门店",修改id_vars中的对应名称即可适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 04:36:09