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

如何在Pandas中将同名列合并为单列并转换为多行数据

处理重复列名的DataFrame:合并同列为单列并转多行

可以通过以下简洁的pandas代码实现需求,不管重复列的数量多少,都能自动处理:

步骤说明

  • 遍历DataFrame的所有唯一列名
  • 对每个唯一列名,提取所有同名的列,将其值展平为一维数组
  • 用这些展平后的数组构造新的DataFrame,每个唯一列名对应一列

代码示例

首先构造示例数据(模拟你的输入):

import pandas as pd

# 原DataFrame(一行数据,多重复列)
df = pd.DataFrame(
    [["abc", "def", "ghi", 123, 456, 789]],
    columns=["col_1", "col_1", "col_1", "col_2", "col_2", "col_2"]
)

处理代码:

# 生成目标DataFrame
result_df = pd.DataFrame({
    col: df[col].values.flatten()
    for col in df.columns.unique()
})

输出结果

运行后result_df的内容如下:

col_1  col_2
0  'abc'    123
1  'def'    456
2  'ghi'    789

扩展说明

如果原DataFrame包含多行数据(比如两行,每行对应多组重复列值),这个方法同样适用:
比如原DataFrame是:

col_1 col_1 col_2 col_2
0     a     b     1     2
1     c     d     3     4

处理后会得到:

col_1  col_2
0     a      1
1     b      2
2     c      3
3     d      4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:01:57