NAN值在python中被认为是字符串

gis*_*s20 2 python nan pandas

我正在为python中的一个小应用程序编写代码,我意识到当我的导入数据函数中出现错误时,文件(txt,dat,csv ...)包含缺少值,如NAN或"NAN"中的某些数据,如果这些值写为nan或NaN,则导入数据没有问题.

例如

06.02.2011 00:10:00 NAN 43 30 2 37 42 30 2 34 41 19 4 302 5 306 8 69 2810 2811 2810 974 46 130
06.02.2011 00:20:00 36 41 28 2 36 42 27 2 35 42 26 3 295 8 298 8 69 2811 2811 2811 974 46 130
Run Code Online (Sandbox Code Playgroud)

第一行中的值NAN将引发错误,因为它被视为数据中的字符串

虽然具有nan值的文件被认为是缺失值,因此没有问题

06.02.2011 00:10:00 nan 43 30 2 37 42 30 2 34 41 19 4 302 5 306 8 69 2810 2811 2810 974 46 130
06.02.2011 00:20:00 36 41 28 2 36 42 27 2 35 42 26 3 295 8 298 8 69 2811 2811 2811 974 46 130
Run Code Online (Sandbox Code Playgroud)

我不知道修改python中的哪个导入函数或库,以便包含读取单词Nan的所有可能性并避免错误.

Ant*_*pov 6

你可以添加你的变量,你想解释为NaNna_values的参数pd.read_csv:

df = pd.read_csv('your_file.csv', na_values=['NAN'])
Run Code Online (Sandbox Code Playgroud)

你也可以在那个答案中找到一些信息.

NA来自na值的所有默认:

默认的NaN识别值是['-1.#IND', '1.#QNAN', '1.#IND', '-1.#QNAN', '#N/A','N/A', 'NA', '#NA', 'NULL', 'NaN', '-NaN', 'nan', '-nan'].虽然默认的NaN值列表中不包含0长度的字符串'',但它仍被视为缺失值.