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

如何简洁聚合DataFrame列并避免信息重复?

高效实现DataFrame多列聚合去重生成新列

针对你需求的两种简洁高效方案:

方案1:向量化判断(最优,适合大规模数据)

如果仅针对两列(Description和Information),用numpy的向量化判断直接生成结果,完全避免逐行循环,性能最优:

import numpy as np

mask = df['Description'] == df['Information']
df['Combined'] = np.where(mask, df['Description'], df['Description'] + ' ' + df['Information'])

原理:先判断每行两列内容是否相同,相同则直接取其中一列的值,不同则拼接两列内容,整个过程是向量化运算,处理大规模数据时速度远快于逐行处理。

方案2:通用多列去重合并(支持任意列数)

如果后续需要扩展到更多列,可使用apply配合dict.fromkeys(保持原始顺序去重):

df['Combined'] = df[['Description', 'Information']].apply(lambda row: ' '.join(dict.fromkeys(row)), axis=1)

原理:对每行的指定列,用dict.fromkeys保留首次出现的元素(实现有序去重),再用空格拼接成字符串。

对比原方案的优势

原方案先拼接所有列再处理重复,会产生大量冗余的字符串操作;上述方案1直接在拼接前判断重复,仅在必要时执行拼接,大幅减少计算量,更适合大规模数据集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:50:17