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

如何按Type1匹配规则用另一Dataframe填充指定列的NaN值

解决方法

实现思路

  • 先将参考DataFrame转换为Type 1到Type 2的一对一映射字典,保证匹配效率
  • 对主DataFrame的Type 2列空值,用Type 1匹配映射字典的结果填充

代码示例

假设待填充的主DataFrame为df_main,存储参考值的DataFrame为df_ref,实现代码如下:

# 生成Type1到Type2的映射字典,有序参考表重复值默认保留最后一条
type_map = df_ref.drop_duplicates('Type 1', keep='last').set_index('Type 1')['Type 2'].to_dict()

# 按Type1匹配填充空值
df_main['Type 2'] = df_main['Type 2'].fillna(df_main['Type 1'].map(type_map))

代码说明

  • drop_duplicates方法用于处理参考表中可能存在的Type 1重复值,keep='last'参数适配参考表为有序的需求,重复时保留最后出现的对应值
  • set_index+to_dict生成映射字典,匹配效率远高于循环遍历操作
  • 填充时通过主表的Type 1字段匹配映射字典得到对应值,传入fillna即可完成定向空值填充
  • 若存在主表Type 1未在参考表中出现的情况,填充后对应位置仍为NaN,可根据业务需求再做后续处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:45:03