【发布时间】:2018-07-04 03:42:53
【问题描述】:
我试过np.where但没有成功:
>>>a = np.array([np.nan, 1])
>>>np.where(a == np.nan)
(array([], dtype=int64),)
【问题讨论】:
我试过np.where但没有成功:
>>>a = np.array([np.nan, 1])
>>>np.where(a == np.nan)
(array([], dtype=int64),)
【问题讨论】:
你需要改变
np.where(a == np.nan)
到
np.where(np.isnan(a))
NaN 值在相等性检查中总是返回 false,即使是另一个 NaN 值。所以你需要使用特殊的函数来检查 NaN,比如 np.isnan。
【讨论】:
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]),)
【讨论】: