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

Python Pandas合并两列并去除重复值问题求助

解决方案

可以通过几种简洁的方式实现这个需求,以下是最常用的几种方法:

方法1:使用numpy.where(推荐,效率最优)

利用numpy.where根据条件快速选择对应值,逻辑清晰且处理大数据集时性能更优:

import pandas as pd
import numpy as np

# 构造示例DataFrame
df = pd.DataFrame({
    'Column A': ['a', 'c', 'd', 'g'],
    'Column B': ['b', 'c', 'e', 'g']
})

# 生成Column C
df['Column C'] = np.where(df['Column A'] == df['Column B'], df['Column A'], df['Column A'] + df['Column B'])

执行后得到目标结果:

Column AColumn BColumn C
abab
ccc
dede
ggg

方法2:使用apply逐行处理

如果后续需要扩展更复杂的规则,可使用apply实现自定义逻辑:

df['Column C'] = df.apply(lambda row: row['Column A'] if row['Column A'] == row['Column B'] else row['Column A'] + row['Column B'], axis=1)

注意:apply是逐行处理,效率低于numpy.where,更适合小数据集或复杂逻辑场景。

方法3:布尔索引分步赋值

通过分步操作实现,逻辑直观易懂:

# 先默认拼接所有行的A、B值
df['Column C'] = df['Column A'] + df['Column B']
# 对A、B值相等的行,替换为单个值
df.loc[df['Column A'] == df['Column B'], 'Column C'] = df['Column A']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 16:50:02