PGC123

2020-08-19   阅读量: 2745

大数据 数据分析师

pandas 读取文件时把'NA'字符串读作空值,但是这个并不是真的空值,怎么解决?

扫码加入数据分析学习群

问:pandas 读取文件时把'NA'字符串读作空值,但是这个并不是真的空值,怎么解决?


答:pandas 读取文本的时候会默认将如下字符串作为空值处理:

‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’。

这个主要由na_values与keep_default_na这两个个参数控制,详情可参考:https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html?highlight=read_csv


那么如何去使用这些参数呢?


na_values:决定哪些值可以表示为缺失值,默认的缺失值表示方式: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’。

keep_default_na:决定是否保留na_values默认的缺失值表示方式,

- 当参数为True时pandas会将文件中所有与默认的缺失值表达形式一致的字符串作为空值(nan)处理,这时如果na_values被传入其他参数那这个传入的参数所代表的值也按缺失值处理。

- 当参数取值为False时,pandas会将na_values的默认值关闭,如果na_values没有被赋值,那么源文件中出现什么值,DataFrame中就是什么值。


添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
27.9816 4 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子