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

如何使用pandas合并两个缺失值互补的DataFrame列

Pandas 互补缺失值两列合并方案

针对你提到的两列缺失值完全互补的场景,有两种简洁实现方式:

方法1:combine_first() 实现(推荐)

该方法原生适配两列互补填充需求,优先取第一个列的非空值,空缺位置自动取第二个列的对应非空值:

# 合并生成新列 merged_col
df['merged_col'] = df['source_app_packets'].combine_first(df['source_app_packets.1'])

# 可选操作:删除原有两列、释放存储空间
df = df.drop(columns=['source_app_packets', 'source_app_packets.1'])

如果你的数据中缺失值用空字符串、空格等非常规标识存储,需要先转换为pandas可识别的NaN格式再执行合并:

import numpy as np
# 将空字符串替换为NaN
df[['source_app_packets', 'source_app_packets.1']] = df[['source_app_packets', 'source_app_packets.1']].replace('', np.nan)
# 执行合并
df['merged_col'] = df['source_app_packets'].combine_first(df['source_app_packets.1'])

方法2:fillna() 实现

逻辑为用第二列的非空值填充第一列的空缺位置,实现效果和第一种方法完全一致:

df['merged_col'] = df['source_app_packets'].fillna(df['source_app_packets.1'])

结果验证

合并完成后可执行以下代码检查是否还有遗漏的缺失值,符合你场景的前提下输出应为0:

print(df['merged_col'].isna().sum())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:15:01