使用Python Pandas处理数据时输出NaN是什么原因?
pandas DataFrame 出现
nan值的常见原因 - 数据导入异常:读取csv、excel等外部文件时,文件本身存在空单元格、未录入内容的位置,或是读取时的字段解析规则不匹配,比如数值列混入了无法识别的文本内容,pandas会自动将这类异常位置置为
nan - 算术运算异常:涉及
nan的计算默认返回nan,或是运算逻辑本身无意义(比如0做除数、对负数取对数/开根号),都会输出nan - 表匹配错位:执行merge、join、concat等多表合并操作,或是调用reindex调整行/列索引时,匹配键或新索引没有对应到原有数据的位置,会自动填充
nan - 类型转换失败:强制将包含非法值的列转换为数值类型时,比如字符串列同时存在"123"和"无"、"缺测"这类非数值文本,转换失败的内容会被置为
nan - 空值自动转换:pandas会自动将Python原生的
None、numpy的np.nan、pandas的pd.NA等不同格式的缺失值统一展示为nan - 手动操作失误:手动对DataFrame的部分位置赋值为空,或是调用fillna、drop等方法时参数设置错误,也会产生意料之外的
nan
内容的提问来源于stack exchange,提问作者krrish-a07
相关产品推荐
相关产品推荐

