映射列值时忽略缺失值

Posted

技术标签:

【中文标题】映射列值时忽略缺失值【英文标题】:Ignore missing values when mapping column values 【发布时间】:2020-11-25 18:15:12 【问题描述】:

我有一个名为 subgroup 的列,其中的值用逗号分隔。我有一本包含键和值的字典。我已经安排了一个脚本自动运行。但是如果 subgroup 中的值不存在于字典中,则该函数将崩溃并停止。如果我的字典中没有 *subgroup 的值,我该如何忽略它?

这里的列子组的值是 A、B、C、D、E,但字典的键值是 A、B、C。我想忽略 D,E 而不会引发错误。我怎样才能做到这一点? 下面是我写的代码

mapping_dict = df.set_index('KEY')['VALUES'].to_dict()
df2_values = [v.split(',') for v in df_2['subgroup']]
df_2['subgroup'] = pd.Series([','.join([mapping_dict[v] for v in values]) for values in df2_values])

如何更新此代码以避免缺失值??

【问题讨论】:

【参考方案1】:

也许可以试试:

df_2['subgroup'] = pd.Series([','.join([mapping_dict[v] for v in values]) for values in df2_values if values in mapping_dict])

因此,它只会使用mapping_dict中存在的df2_values中的值

【讨论】:

以上是关于映射列值时忽略缺失值的主要内容,如果未能解决你的问题,请参考以下文章

无法用所有列中的列值填充缺失值

R语言高级方法进行缺失数据多重插补案例演示

当存在缺失值时,将汇总与多个函数一起使用

pandas使用notnull函数和astype函数将dataframe中所有缺失值映射为0,非缺失值映射为1

pandas使用notnull函数将dataframe中所有缺失值映射为False,非缺失值映射为True(map missing vlaues into False others into True

使用 statsmodels 忽略多个 OLS 回归中的缺失值