我想知道是否有一种快速的方法可以找到一个 numpy 矩阵的每一行的最左边的非空值的索引。
可以说我有这个:
data = np.array([[np.nan, np.nan, 10, 1],
[np.nan, 30, 50, np.nan],
[40, np.nan, np.nan, 5],
[np.nan, np.nan, np.nan, 10]])
我想分别返回10、30、40和10的索引,即2、1、0和3。
以下工作但它并不完全有效(例如,fn函数内部的循环很慢):
def fn(row):
for idx, v in enumerate(row):
if not np.isnan(v):
return idx
np.apply_along_axis(fn, 1, data)
叮当猫咪
相关分类