今天遇到的问题是,要将一份csv数据读入dataframe,但某些列中含有NA值。对于这些列来说,NA应该作为一个有意义的level,而不是缺失值,但read_csv函数会自动将类似的缺失值理解为缺失值并变为NaN。

看pandas文档中read_csv函数中这两个参数的描述,默认会将'-1.#IND', ‘1.#QNAN', ‘1.#IND', ‘-1.#QNAN', ‘#N/A N/A','#N/A', ‘N/A', ‘NA', ‘#NA', ‘NULL', ‘NaN', ‘-NaN', ‘nan', ‘-nan', ''转换为NaN,且na_values参数还支持定义另外的应处理为缺失值的值。

值得注意的是keep_default_na参数,这个参数的作用是决定要不要保留默认应该转换的缺失值列表,将这个参数设为False之后同时不定义na_values参数,就可以在读取文件时不将任何值转换为缺失值NaN。

例:

import pandas as pd
df = pd.read_csv('train.csv', keep_default_na=False)

以上这篇pandas中read_csv的缺失值处理方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com