删除行的Python行索引

时间:2015-08-04 19:54:07

标签: python numpy

我正在删除数组中的行 -

Data_deleted_row=Data_v_co[numpy.all(Data_v_co < 0, axis=0)]

如何获取已删除行的索引?

1 个答案:

答案 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]])