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

如何高效合并同形状Polars DataFrames:优先保留小样本非空值

Pandas高效实现:优先保留小样本非空值的DataFrame合并

针对你提出的需求(优先保留小样本DataFrame的非空值,用大样本DataFrame填充缺失),Pandas提供了两种无需逐单元格处理的矢量化高效实现方式,完全匹配你的两种思路:

思路1:以小样本为基础,填充缺失值

直接使用fillna()方法,传入大样本DataFrame作为填充源。该方法会自动按行列标签匹配,仅填充小样本中的缺失值,非空值保持不变:

result_df = small_df.fillna(large_df)

fillna()是Pandas底层优化的矢量化操作,性能远高于逐单元格遍历,100×100的数据集处理速度可以忽略不计。

思路2:以大样本为基础,覆盖小样本非空值

使用where()方法实现:当小样本对应位置为缺失时,保留大样本的值;否则用小样本的值覆盖大样本对应位置,最终效果和思路1完全一致:

result_df = large_df.where(small_df.isna(), small_df)

另外,也可以用combine_first()方法达到同样效果,它的逻辑是"取左侧非空值,缺失时用右侧值",所以用小样本作为左侧、大样本作为右侧即可:

result_df = small_df.combine_first(large_df)

以上所有方法都无需手动遍历单元格,完全依赖Pandas的内置优化,处理效率极高,且代码简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:45:43