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

如何在Pandas中将多列数据与指定列值配对转换为长表?

Pandas实现列值配对(宽表转长表)

你要的是把Column 1和后续所有列的每个值一一配对,本质是宽表转长表,用Pandas的melt()函数就能直接实现,具体操作如下:

1. 准备示例数据

先把你给出的表格转换成Pandas DataFrame:

import pandas as pd

# 构造和你示例一致的DataFrame
df = pd.DataFrame({
    'Column 1': ['a', 'b', 'c'],
    'Column 2': [1, 1, 2],
    'Column 3': [2, 3, 1]
})

2. 用melt函数转换格式

直接调用melt(),参数设置好就能得到你要的结果:

# 自动获取Column1之后的所有列,无需手动列出来
result = df.melt(
    id_vars='Column 1',          # 保留作为配对标识的列
    value_vars=df.columns[1:],   # 需要拆分成行的目标列(从第二列开始的所有列)
    var_name=None,               # 不需要保留原列名,设为None
    value_name='Column 2',       # 把拆分后的值列命名为你要的Column2
    ignore_index=True            # 重置索引从0开始
)

3. 查看结果

打印result就能得到你想要的格式:

Column 1  Column 2
0        a         1
1        b         1
2        c         2
3        a         2
4        b         3
5        c         1

(注:如果你的原始表有更多后续列,df.columns[1:]会自动包含所有列,无需修改代码)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:31:13