为什么numpy.nan会出现-2147483648

问题

将t1中索引为3的这列进行赋值为np.nan,但是输出t1之后发现是一串数字???
为什么numpy.nan会出现-2147483648

解决

首先,np.nan为float类型,该代码在赋值np.nan之前虽然有改变其数组的数据类型为float,但是并没有改变成功。因为ndarray.astype函数有返回值,所以并没有改变t1数组本身。

也就是说,t1还是int类型的,所以赋值为np.nan时会发生如上问题。需将以上代码改为:t1 = t1.astype("float")