鱼C论坛

 找回密码
 立即注册
查看: 2107|回复: 1

[已解决]字典运用出现键错误的问题,求大师帮忙,谢谢

[复制链接]
发表于 2023-4-25 12:08:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
df_fnd['AA'] = df_fnd['AA'].apply(lambda x: cmp_dic[x][0])
出现错误:   KeyError: None

如果df_fnd['AA'] = df_fnd['AA'].fillna('未知')
又出现 KeyError: '未知'

这个有什么办法解决?求大虾帮忙,谢谢
最佳答案
2023-4-25 12:10:48
这个问题是由于在使用字典cmp_dic时,键值未找到导致的。当字典cmp_dic中找不到对应的键时,就会报出KeyError。在这种情况下,可以使用字典的get()方法来避免这个错误。get()方法可以为不存在的键设置一个默认值。代码可以修改如下:
df_fnd['AA'] = df_fnd['AA'].apply(lambda x: cmp_dic.get(x, [None])[0])

这样,如果在字典cmp_dic中找不到对应的键,就会返回一个包含默认值的列表(在这里是[None]),然后使用索引0取出默认值。

然后,关于第二个错误,我们可以为字典cmp_dic添加一个新的键值对,使其包含'未知'这个键:
cmp_dic['未知'] = (None, )  # 你可以设置一个合适的值

在这里,我给'未知'这个键分配了一个值None,你可以根据实际情况分配一个合适的值。这样,在运行以下代码时就不会报错了:
df_fnd['AA'] = df_fnd['AA'].fillna('未知')

希望这个解决方案能帮到你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-25 12:10:48 | 显示全部楼层    本楼为最佳答案   
这个问题是由于在使用字典cmp_dic时,键值未找到导致的。当字典cmp_dic中找不到对应的键时,就会报出KeyError。在这种情况下,可以使用字典的get()方法来避免这个错误。get()方法可以为不存在的键设置一个默认值。代码可以修改如下:
df_fnd['AA'] = df_fnd['AA'].apply(lambda x: cmp_dic.get(x, [None])[0])

这样,如果在字典cmp_dic中找不到对应的键,就会返回一个包含默认值的列表(在这里是[None]),然后使用索引0取出默认值。

然后,关于第二个错误,我们可以为字典cmp_dic添加一个新的键值对,使其包含'未知'这个键:
cmp_dic['未知'] = (None, )  # 你可以设置一个合适的值

在这里,我给'未知'这个键分配了一个值None,你可以根据实际情况分配一个合适的值。这样,在运行以下代码时就不会报错了:
df_fnd['AA'] = df_fnd['AA'].fillna('未知')

希望这个解决方案能帮到你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 13:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表