使用map将experience列映射为布尔值后出现全NaN的问题咨询
问题原因及解决办法
出现全NaN的核心原因是字符串匹配不匹配:你代码里写的是relevent(少了字母a),但实际数据里的experience列取值应该是正确拼写的relevant,map方法找不到对应映射关系,就会返回NaN。
解决步骤:
- 先确认数据里的真实取值:执行
print(data['experience'].unique()),查看该列所有唯一值,检查拼写、空格、大小写是否和你代码里的字符串完全一致。 - 修正代码里的拼写错误,把
relevent改成relevant:data['experience'] = data['experience'].map({'Has relevant experience': True, 'No relevant experience': False}) - 如果担心还有大小写、前后空格这类隐性问题,可以先统一处理字符串格式再映射:
# 去除前后空格并转小写 data['experience'] = data['experience'].str.strip().str.lower() # 用统一后的字符串做映射 data['experience'] = data['experience'].map({'has relevant experience': True, 'no relevant experience': False})
内容的提问来源于stack exchange,提问作者Ashraf Badalov
相关产品推荐
相关产品推荐

