不做';楠';至';0';通过numpy.genfromtxt python读取数据时

不做';楠';至';0';通过numpy.genfromtxt python读取数据时,numpy,nan,genfromtxt,Numpy,Nan,Genfromtxt,现在,我正在尝试读取名为“filin1”的文件中的数组,例如: 因此,我尝试将numpy.genfromtxt用作: np.genfromtxt(filin1,dtype=None,delimiter=',',usecols=[0],missing_values='Missing',usemask=False,filling_values=np.nan) 我本想得到[1,3,4,…,nan,nan,nan…],但结果是: [1,3,4, ....,0.,0.,0...] 我希望保留“nan

现在,我正在尝试读取名为“filin1”的文件中的数组,例如:

因此,我尝试将numpy.genfromtxt用作:

 np.genfromtxt(filin1,dtype=None,delimiter=',',usecols=[0],missing_values='Missing',usemask=False,filling_values=np.nan)
我本想得到[1,3,4,…,nan,nan,nan…],但结果是:

[1,3,4, ....,0.,0.,0...]
我希望保留“nan”,而不将其转换为“0”

你能给我一些想法或建议吗

谢谢,,
Isaac

如果我尝试用字符串输入来模拟您的案例,我在阅读
nan

In [73]: txt=b'''1,2
3,4
1.23,nan
nan,02
'''
In [74]: txt=txt.splitlines()
In [75]: txt
Out[75]: [b'1,2', b'3,4', b'1.23,nan', b'nan,02']
In [76]: np.genfromtxt(txt,delimiter=',')
Out[76]: 
array([[ 1.  ,  2.  ],
       [ 3.  ,  4.  ],
       [ 1.23,   nan],
       [  nan,  2.  ]])
nan
是有效的浮点值

In [80]: float('nan')
Out[80]: nan
您的命令也起作用,尽管它确实起作用

In [82]: np.genfromtxt(txt,dtype=None,delimiter=',',usecols=[0],missing_values='Missing',usemask=False,filling_values=np.nan)
Out[82]: array([ 1.  ,  3.  ,  1.23,   nan])
由于
nan
是浮点,而不是int,因此期望列包含整数(而不是浮点)可能会导致问题

缺少值会导致两个调用都出现
nan

In [91]: txt
Out[91]: [b'1,2', b'3,', b'1.23,nan', b'nan,02', b',']

如果我尝试用字符串输入来模拟您的案例,那么读取
nan

In [73]: txt=b'''1,2
3,4
1.23,nan
nan,02
'''
In [74]: txt=txt.splitlines()
In [75]: txt
Out[75]: [b'1,2', b'3,4', b'1.23,nan', b'nan,02']
In [76]: np.genfromtxt(txt,delimiter=',')
Out[76]: 
array([[ 1.  ,  2.  ],
       [ 3.  ,  4.  ],
       [ 1.23,   nan],
       [  nan,  2.  ]])
nan
是有效的浮点值

In [80]: float('nan')
Out[80]: nan
您的命令也起作用,尽管它确实起作用

In [82]: np.genfromtxt(txt,dtype=None,delimiter=',',usecols=[0],missing_values='Missing',usemask=False,filling_values=np.nan)
Out[82]: array([ 1.  ,  3.  ,  1.23,   nan])
由于
nan
是浮点,而不是int,因此期望列包含整数(而不是浮点)可能会导致问题

缺少值会导致两个调用都出现
nan

In [91]: txt
Out[91]: [b'1,2', b'3,', b'1.23,nan', b'nan,02', b',']

非常感谢。上面的结果发生在我们学校的超级计算机上,我也可以像你说的那样在我的个人笔记本电脑上读到“南”。我认为这与超级计算机系统和python有关。谢谢你的检查和建议。谢谢。上面的结果发生在我们学校的超级计算机上,我也可以像你说的那样在我的个人笔记本电脑上读到“南”。我认为这与超级计算机系统和python有关。谢谢你的检查和建议。