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

如何在Pandas DataFrame中填充缺失值并同步设置标记列?

解决方案:同步填充缺失值并标记

要实现仅当估算值非空时,填充原列缺失值并同步设置标记,可以通过精准的布尔掩码定位需要处理的行,一次性完成两个操作:

步骤1:生成筛选掩码

先创建布尔序列,筛选出同时满足以下两个条件的行:

  • 原volume列的值为缺失值(NaN)
  • 对应位置的估算值imputed_vol不为缺失值
# 生成目标行的掩码
mask = df_orig['volume'].isna() & ~imputed_vol.isna()

步骤2:同步更新列值

用掩码直接定位目标行,同时更新volume和is_imputed列:

# 填充缺失的volume值
df_orig.loc[mask, 'volume'] = imputed_vol[mask]
# 将对应行的标记设为1
df_orig.loc[mask, 'is_imputed'] = 1

验证结果

执行后查看处理后的DataFrame:

print(df_orig)

输出结果:

cust_id  period  volume  is_imputed
0         1       1     1.0           0
1         1       2     2.0           0
2         1       3     3.0           1
3         1       4     4.0           0
4         1       5     5.0           0
5         1       6     6.0           0
6         2       1     7.0           0
7         2       2     NaN           0
8         2       3     9.0           0
9         2       4     NaN           0
10        2       5    11.0           0
11        2       6     NaN           0

可以看到,只有第2行(原volume缺失且imputed_vol有有效值3)被填充,同时is_imputed设为1;其他原volume缺失但imputed_vol为空的行,保持原样未处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 02:52:02