Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取numpy数组中所有NaN值的索引列表?_Python_Numpy_Scipy - Fatal编程技术网

Python 如何获取numpy数组中所有NaN值的索引列表?

Python 如何获取numpy数组中所有NaN值的索引列表?,python,numpy,scipy,Python,Numpy,Scipy,现在我有一个numpy数组,它的定义是 [[1,2,3,4], [2,3,NaN,5], [NaN,5,2,3]] 现在我想要一个包含所有缺失值索引的列表,在本例中是[(1,2)、(2,0)] 有什么办法可以做到吗?结合 输出: array([[1, 2], [2, 0]]) 您可以使用来匹配与数组的Nan值和map每个结果对应的布尔条件,以生成元组的列表 >>>list(map(tuple, np.where(np.isnan(x)))) [(1, 2),

现在我有一个numpy数组,它的定义是

[[1,2,3,4],
[2,3,NaN,5],
[NaN,5,2,3]]
现在我想要一个包含所有缺失值索引的列表,在本例中是
[(1,2)、(2,0)]

有什么办法可以做到吗?

结合

输出:

array([[1, 2],
       [2, 0]])
您可以使用来匹配与数组的
Nan
值和
map
每个结果对应的布尔条件,以生成
元组的列表

>>>list(map(tuple, np.where(np.isnan(x))))
[(1, 2), (2, 0)]

自从
x=x
返回与
np.isnan(x)
相同的布尔数组(因为
np.nan!=np.nan
将返回
True
),您还可以编写:

np.argwhere(x!=x)

但是,我仍然建议编写
np.argwhere(np.isnan(x))
,因为它更具可读性。我只是想提供另一种方法来编写这个答案中的代码

我想您需要
list(zip(*map(list,np.where(np.isnan(x))))
如何对具有浮点值的数组执行相同的操作?
>>>list(map(tuple, np.where(np.isnan(x))))
[(1, 2), (2, 0)]