我正在删除数组中的行 -
Data_deleted_row=Data_v_co[numpy.all(Data_v_co < 0, axis=0)]
如何获取已删除行的索引?
答案 0 :(得分:1)
我不确定numpy.all()是如何删除该行的。 无论哪种情况,在删除之前你必须找到这样的指数。
deleted_rows= numpy.where(Data_v_co > 0)
Data_deleted_row=Data_v_co[numpy.all(Data_v_co < 0, axis=0)]
我尝试了类似的东西,这就是我得到的东西
In [35]: a = np.random.randint(-5,1, [5,6]);
Out[36]:
array([[-2, -3, -4, -4, -2, -2],
[-2, -4, -4, 0, -5, -2],
[-5, 0, -1, -2, -2, -1],
[-3, -1, 0, -5, -3, -2],
[-1, -5, 0, -4, -5, -5]])
In [37]: b = np.all(a < 0, axis=0)
In [38]: b
Out[38]: array([ True, False, False, False, True, True], dtype=bool)
In [39]: deleted_indices = np.where(b == False)
In [40]: deleted_indices
Out[40]: (array([1, 2, 3]),)
In [41]: c = a[:,b]
In [42]: c
Out[42]:
array([[-2, -2, -2],
[-2, -5, -2],
[-5, -2, -1],
[-3, -3, -2],
[-1, -5, -5]])