2013-11-25 160 views
1

如何在數組中找到nan在陣列中查找nans

import numpy as np 
a=np.asarray([3,4,np.nan,1,2]) 

np.isnan(np.sum())是無用的,如果它有nan或不僅返回?

+2

如果您使用numpy的(1.8)的最新版本,有一個新的功能'np.nansum'獲得所有非NaN值的總和:'NP .nansum(a)' - >'10' – askewchan

回答

4

使用numpy.isnan

>>> import numpy as np 
>>> a=np.asarray([3,4,np.nan,1,2]) 
>>> np.isnan(a) 
array([False, False, True, False, False], dtype=bool) 
>>> a[np.isnan(a)] 
array([ nan]) 

>>> np.where(np.isnan(a)) 
(array([2], dtype=int64),) 
+0

我該如何獲得指數。我應該使用哪裏? – Cupitor

+1

@Naji,我更新了答案。使用'numpy.where(np.isnan(a))' – falsetru