我有 2D 数组,其中有很多行完全填充了 NaN 值。 我想找到第一个实数出现的位置,即它出现的行号。 我的简化数组如下所示:
m = np.array([[np.nan, np.nan, np.nan], [np.nan, np.nan, np.nan], [np.nan, 17, np.nan],[np.nan, 18, 25]])
预期结果是2,即17出现的行号! 谢谢
最佳答案
您可以使用 sum
和 isnan
获取至少一个元素不是 nan 的第一行:
np.argmax((~np.isnan(m)).sum(axis=1) > 0)
编辑
根据 I mahdi 的回答,我意识到您也可以使用 any
:
np.argmax((~np.isnan(m)).any(axis=1))
关于python - 查找二维数组中未满 NaN 的第一行的行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73337826/