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笔记本吗?