Python np.nan分配大量负整数?
当我运行此代码时Python np.nan分配大量负整数?,python,numpy,Python,Numpy,当我运行此代码时 import numpy as np X = np.column_stack([np.arange(1,6), np.arange(1,6)]) X = np.roll(X,1,axis=0) X[0,:] = np.nan print(X) 我的输出是 array([[-9223372036854775808, -9223372036854775808], [ 1, 1],
import numpy as np
X = np.column_stack([np.arange(1,6), np.arange(1,6)])
X = np.roll(X,1,axis=0)
X[0,:] = np.nan
print(X)
我的输出是
array([[-9223372036854775808, -9223372036854775808],
[ 1, 1],
[ 2, 2],
[ 3, 3],
[ 4, 4]])
我不认为这是它应该做的。。。我还在colab中运行了代码,以确保我的机器没有发生疯狂的事情。我是在做一些没有意义的事吗
预期的产出是一种大致相同的东西
array([[NaN, NaN],
[ 1, 1],
[ 2, 2],
[ 3, 3],
[ 4, 4]])
可能是因为您使用的是旧版本的
numpy
此外,您不能将浮点数分配给整数,因为nan属于“float”类型,在较新版本中,X[0,:]=np.nan
抛出错误:-ValueError:无法将浮点nan转换为整数
因此,首先使用astype()
方法将int
数组转换为float
:-
X=X.astype(float)
最后:-
X[0,:]=np.nan
现在,如果打印X
,您将获得:-
array([[nan, nan],
[ 1., 1.],
[ 2., 2.],
[ 3., 3.],
[ 4., 4.]])
整数不支持NaN。它给我一个错误@financial。你也在运行jupyter笔记本吗?