Excel或Python实现:将列标题作为User ID的宽表转长表
宽表转长表实现方法
Excel操作(Power Query,推荐)
- 选中包含表头的全部数据区域,点击「数据」选项卡 → 「从表格/区域」,确认弹窗中「我的表格有标题」已勾选,进入Power Query编辑器
- 选中所有用户ID列(A-E列),点击「转换」选项卡 → 「逆透视列」→ 「逆透视其他列」
- 右键重命名列:将「日期\用户ID」改为「日期」,「属性」改为「用户ID」,「值」改为「内存使用」
- 选中「内存使用」列,点击「开始」→「删除行」→「删除空值」
- 点击「关闭并上载」,即可得到清理后的长表数据
Python代码实现(Pandas)
使用pandas的melt函数快速完成逆透视转换:
import pandas as pd # 读取Excel文件,替换为你的文件路径 df = pd.read_excel("memory_usage.xlsx", sheet_name="Sheet1") # 逆透视转换,保留日期列,将用户ID列转为行 df_long = df.melt( id_vars="日期\\用户ID", var_name="用户ID", value_name="内存使用" ) # 过滤空值行并重命名日期列 df_long = df_long.dropna(subset=["内存使用"]).rename(columns={"日期\\用户ID": "日期"}) # 打印结果或保存到新Excel print(df_long) df_long.to_excel("memory_usage_long.xlsx", index=False)
内容的提问来源于stack exchange,提问作者Sheen
相关产品推荐
相关产品推荐

