python – 比较两个numpy数组和插入nans

我有两个numpy数组的维度(120,360),其中一个数组由整数和零组成,第二个由浮点数组成.我想在第一个数组中有一个整数的地方用nans替换第二个数组的值.有一种简单有效的方法吗?

另外,我想用nans替换第一个数组中的整数,并将零更改为1.提前致谢.

最佳答案 你可以通过逻辑索引到数组中轻松实现这一点,

arr2[ arr1 != 0 ] = numpy.NaN

但是整数数组不支持NaN,因此您必须将第一个数组转换为float数组,即

arr1 = arr1.astype(float)
arr1[arr1 != 0.0] = numpy.NaN
arr1[arr1 == 0.0] = 1.0
点赞