我正在尝试删除列表“a”中包含的多个二维数组中包含一个或更少非零元素的所有行。
当我在“i”循环之外运行此方法时,此方法有效,但作为一个整体无效。我知道我不能删除我正在迭代的行,但我相信在这种情况下我不会这样做,因为我只删除 a 中包含的数组中的行,而不是数组本身。
for i in range(len(a)):
del_idx=[]
for j in range(len(a[i])):
nonzero=np.nonzero(a[i][j])
nonzero_len=len(nonzero[0]) #because np.nonzero outputs a tuple
if nonzero_len<=1:
del_idx.append(j)
else:
continue
np.delete(a[i],(del_idx),axis=0)
有人知道这里发生了什么吗?如果这真的不起作用,我怎样才能在不使用循环的情况下删除这些元素?这是 Python 2.7
谢谢!