字典运用出现键错误的问题,求大师帮忙,谢谢
df_fnd['AA'] = df_fnd['AA'].apply(lambda x: cmp_dic)出现错误: KeyError: None
如果df_fnd['AA'] = df_fnd['AA'].fillna('未知')
又出现 KeyError: '未知'
这个有什么办法解决?求大虾帮忙,谢谢 这个问题是由于在使用字典cmp_dic时,键值未找到导致的。当字典cmp_dic中找不到对应的键时,就会报出KeyError。在这种情况下,可以使用字典的get()方法来避免这个错误。get()方法可以为不存在的键设置一个默认值。代码可以修改如下:
df_fnd['AA'] = df_fnd['AA'].apply(lambda x: cmp_dic.get(x, ))
这样,如果在字典cmp_dic中找不到对应的键,就会返回一个包含默认值的列表(在这里是),然后使用索引0取出默认值。
然后,关于第二个错误,我们可以为字典cmp_dic添加一个新的键值对,使其包含'未知'这个键:
cmp_dic['未知'] = (None, )# 你可以设置一个合适的值
在这里,我给'未知'这个键分配了一个值None,你可以根据实际情况分配一个合适的值。这样,在运行以下代码时就不会报错了:
df_fnd['AA'] = df_fnd['AA'].fillna('未知')
希望这个解决方案能帮到你!
页:
[1]