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

使用pandas合并DataFrame中两个同名Col_1列为单列的实现方法

pandas重名列合并实现方案

你可以通过按位置取重名列+combine_first非空值填充的方式实现需求,完整代码如下:

import pandas as pd
import numpy as np

# 第一步:如果你的空值是空字符串,先替换为NaN方便合并处理,如果本身是NaN可跳过这步
df = df.replace('', np.nan)

# 第二步:按位置取两个重名Col_1列,用第二个列的非空值补全第一个列的空值
df['Col_1'] = df.iloc[:, 0].combine_first(df.iloc[:, 2])

# 第三步:删除原始两个重复Col_1列,调整列顺序为你需要的格式
df = df.drop(df.columns[[0, 2]], axis=1)[['Col_1', 'Col_2', 'Col3']]

# 可选:如果需要把空值还原为空字符串,执行这步
df = df.fillna('')

原有写法错误原因

  • 第一种写法:df.columns[0]返回的是字符串Col_1,不是DataFrame对象,pd.merge是用于拼接两个数据集的API,不支持单列合并操作,逻辑完全不匹配。
  • 第二种写法:直接对两个Col_1列做字符串拼接,会把两列取值直接相加,而非取非空值合并,得到的结果会是类似nanA4这类不符合预期的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:06:03