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

使用Pandas Melt将含上下界的宽表转换为长表

Pandas 宽格式DataFrame转长格式(按alpha和target索引)

需求说明

现有宽格式DataFrame,包含lb1/ub1到lb12/ub12共12组上下界列,以及target列标识场景。需要将其重塑为长格式,以alpha(对应1-12的编号)和target为索引,保留lb(下界)、ub(上界)两列。

实现代码

使用Pandas内置的wide_to_long函数(专门适配这种前缀+数字的列结构),代码如下:

import pandas as pd

# 假设原数据存储在变量df中
df_long = pd.wide_to_long(
    df,
    stubnames=["lb", "ub"],  # 指定列名的前缀
    i="target",              # 保留的分组列
    j="alpha",               # 从列名提取的编号列
    sep=""                   # 前缀与数字无分隔符(如lb1是lb+1)
).reset_index()

# 按需设置复合索引
df_long = df_long.set_index(["alpha", "target"])

效果说明

  • 原DataFrame中每一行(对应一个target场景)会被拆分为12行,分别对应alpha=1到alpha=12
  • 拆分后每行的lb对应原数据的lbN,ub对应原数据的ubN(N为alpha值)
  • 最终结果与需求中的长格式完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 19:31:12