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

如何修改pandas dataframe结构,将表头转为列并生成时间、名称、浮点值三列

实现思路

你需要完成的是宽表转长表的操作,直接使用pandas内置的melt方法即可实现,具体逻辑如下:

  • 先确认原始DataFrame结构:首列为时间列,剩余每列对应不同的指标名称,单元格内存储对应指标的浮点数值
  • 调用pd.melt()方法做结构转换,按需指定参数即可直接生成符合要求的三列结构
  • 最后可补充数据类型校验步骤,确保时间列、数值列的类型符合后续使用要求
可运行代码示例

假设你的原始DataFrame变量名为raw_df,时间列的列名为date,可参考如下代码:

import pandas as pd

# 如果时间是索引而非普通列,先执行这行把索引转为列
# raw_df = raw_df.reset_index(names="date")

# 执行宽表转长表
res_df = raw_df.melt(
    id_vars="date",  # 固定不需要拆分的时间列,列名按你实际的修改
    var_name="名称",  # 原各指标列的列名会统一存在这个字段下
    value_name="浮点数值" # 原各指标对应的数值会统一存在这个字段下
)

# 可选:类型转换,确保数据格式正确
res_df["date"] = pd.to_datetime(res_df["date"])
res_df["浮点数值"] = res_df["浮点数值"].astype(float)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:39:03