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

Python实现Excel数据集行列转换生成CSV文件的技术求助

Pandas 行列转换:将Item转为列标题、Date作为首列

你要实现的是长格式数据转宽格式,用Pandas的pivot()方法就能直接完成,不需要额外的groupby操作,具体步骤如下:

1. 核心转换代码

import pandas as pd

# 读取Excel数据
Items = pd.read_excel('items_dataset.xlsx')

# 执行行列转换:Date作为行索引,Item作为列,value填充对应单元格
pivoted_df = Items.pivot(index='Date', columns='Item', values='value').reset_index()

# 移除自动生成的列层级名称
pivoted_df.columns.name = None

# 保存为CSV文件
pivoted_df.to_csv('transformed_items.csv', index=False)

2. 转换后结果示例

生成的CSV文件内容如下:

Date,All items,Apples
2021-04,100.0,100.0
2021-05,100.2,100.1
2021-06,99.7,100.3

关键细节说明

  • pivot(index='Date', columns='Item', values='value'):直接映射行、列、值的对应关系,你的数据中每个Date+Item组合唯一,不会出现聚合冲突;
  • reset_index():将Date从索引列转为普通列,满足你"第一列为Date"的需求;
  • columns.name = None:清除Pivot自动添加的列层级标签,避免列头出现多余的"Item"字样。

如果你的数据存在同一个Date+Item对应多个value的情况,可以改用pivot_table()指定聚合逻辑,比如取平均值:

pivoted_df = Items.pivot_table(index='Date', columns='Item', values='value', aggfunc='mean').reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:25:39