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

如何用Python Pandas根据车型填充Engine_model列的缺失值?

按车型填充Pandas数据集中缺失的引擎型号

方法一:构建映射字典(高效通用)

先基于已有完整数据创建车型-引擎型号的映射关系,再批量填充缺失值:

# 1. 构建映射字典:保留有完整引擎型号的车型数据,去重后生成映射
car_engine_map = data.dropna(subset=['Engine_Model'])\
                     .drop_duplicates('Car_model')\
                     .set_index('Car_model')['Engine_Model'].to_dict()

# 2. 用映射字典填充缺失值
data['Engine_Model'] = data['Engine_Model'].fillna(data['Car_model'].map(car_engine_map))

方法二:GroupBy分组填充(更简洁)

利用groupby按车型分组,每组内用第一个非空的引擎型号填充缺失值:

data['Engine_Model'] = data.groupby('Car_model')['Engine_Model']\
                           .transform(lambda x: x.fillna(x.dropna().iloc[0]))

方法三:基于你已获取的缺失变量处理

如果你已经拿到了缺失值的索引和对应车型,可以直接遍历填充:

# 遍历每个缺失项,匹配车型对应的引擎型号
for idx, car_model in zip(Engine_model_missing_indices, Car_model_missing):
    # 获取该车型对应的非空引擎型号
    matched_engine = data.loc[data['Car_model'] == car_model, 'Engine_Model'].dropna().iloc[0]
    # 填充当前缺失值
    data.loc[idx, 'Engine_Model'] = matched_engine

注意:确保每个车型至少有一行包含非空的引擎型号,否则上述方法会无法填充对应缺失值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:45:42