映射列值时忽略缺失值
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中的值
【讨论】:
以上是关于映射列值时忽略缺失值的主要内容,如果未能解决你的问题,请参考以下文章
pandas使用notnull函数和astype函数将dataframe中所有缺失值映射为0,非缺失值映射为1
pandas使用notnull函数将dataframe中所有缺失值映射为False,非缺失值映射为True(map missing vlaues into False others into True