如何迭代识别 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")
我正在构建一个简单的空标识符函数来识别 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")