如何迭代识别 ndarray 中的 np.nan 值

How to iteratively identify np.nan values in a ndarray

我正在构建一个简单的空标识符函数来识别 Numpy 数组(不是 Pandas DataFrames 或 Series)中的 nan,但我的代码似乎不起作用,即使在多次检查它之后我仍然看不到语法问题。你们怎么看?谢谢 数组:

X = np.array([[1,2,4,np.nan],[3,np.nan,4,2],[5,1,6,7],[np.nan,1,2,9]])

迭代次数:

for i in range(X.shape[0]):
    for j in range(X.shape[1]):
        if X[i,j] == np.nan:
            print("This entry is null")
        else:
            print("This one is not")

它returns: “这个不是”十六次(数组的大小)。换句话说,显然没有缺失值。怎么了?

numpy documentation 中指出 此类模块无法使用等式来测试 NaN 。您必须按如下方式使用 np.isnan

for i in range(len(X)):
    for j in range(X.shape[1]):
        if np.isnan(X[i, j]):
            print("This entry is null")
        else:
            print("This one is not")