如何在numpy数组中找到nan值的坐标?

时间:2018-01-24 23:56:52

标签: python numpy

我试过np.where但没有成功:

>>>a = np.array([np.nan, 1])
>>>np.where(a == np.nan)
(array([], dtype=int64),)

2 个答案:

答案 0 :(得分:1)

您需要更改

np.where(a == np.nan)

np.where(np.isnan(a))

NaN值在等式检查中始终返回false,即使是另一个NaN值也是如此。因此,您需要使用特殊函数来检查NaN,如np.isnan。

答案 1 :(得分:0)

import numpy as np

x = np.array([0,0,-1,1,np.nan, 0, 1, np.nan])
print np.where(np.isnan(x))

返回:

(array([4, 7]),)