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

如何将表格行数据重排至不同列:员工生产数据转置需求

嘿,这个需求其实很常见,用Python的pandas库就能轻松实现表格的宽格式转换,我给你具体的代码和步骤:

用Python Pandas实现的解决方案

首先我们把原始数据转换成DataFrame,然后通过索引调整和转置来得到目标格式:

import pandas as pd

# 第一步:构造原始数据的DataFrame
data = {
    'EmpId': ['001', '001', '002', '002'],
    'Date': ['01/01/2018', '01/02/2018', '01/01/2018', '01/02/2018'],
    'ProductA': [5, 2, 3, 1],
    'ProductB': [3, 5, 4, 2]
}
df = pd.DataFrame(data)

# 第二步:转换为目标格式
# 设置多层索引,将Date转为列的上层
pivoted_df = df.set_index(['EmpId', 'Date']).unstack(level='Date')
# 调整列的层次顺序,让日期作为上层,产品作为下层
pivoted_df = pivoted_df.reorder_levels([1, 0], axis=1).sort_index(axis=1)
# 把EmpId从索引转回普通列
pivoted_df = pivoted_df.reset_index()

# 第三步:输出美观的表格
print(pivoted_df.to_string(index=False))

运行这段代码后,输出的结果就是你想要的报表格式:

EmpId 01/01/2018 ProductA 01/01/2018 ProductB 01/02/2018 ProductA 01/02/2018 ProductB
  001                  5                  3                  2                  5
  002                  3                  4                  1                  2

如果你用Excel的替代方案

如果不想写代码,用Excel的数据透视表也能搞定:

  • 选中原始数据区域,点击「插入」→「数据透视表」
  • 把EmpId拖到「行」区域,Date拖到「列」区域,ProductA和ProductB拖到「值」区域
  • 在数据透视表的列区域,调整每个日期下的产品顺序,就能得到和目标一致的报表格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:02:45