DataFrame未展示全部缺失值,Excel中存在的空值无法识别是什么原因?
问题原因及解决方法
- 核心原因是pandas对缺失值的判定规则:默认仅将
None、NaN、NaT三类值识别为缺失值统计,你Excel里的空值读入后大概率被解析成了空字符串''、纯空格字符串' '、'NA'、'nan'这类文本格式的伪缺失值,不会被计入缺失统计,所以info()输出显示全量非空。 - 读取阶段解决:调用
pd.read_excel()时手动补充na_values参数,把你场景里的伪缺失值都加入识别列表,示例写法:import pandas as pd df = pd.read_excel('你的文件路径.xlsx', na_values=['', ' ', 'NA', 'nan']) - 已读入数据的修复:可以直接替换对应列的伪缺失值为pandas标准缺失值,示例写法:
df['OT'] = df['OT'].replace(['', ' ', 'NA', 'nan'], pd.NA) - 验证方法:执行
df['OT'].value_counts(dropna=False)可以查看该列所有值的分布,包含未被识别的伪缺失值,确认具体是哪种格式的空值没有被识别。
内容的提问来源于stack exchange,提问作者Desta Werash
相关产品推荐
相关产品推荐

