2015-08-04 5 views

ответ

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]]) 
+0

Как вы 'c'? – Misha

+0

@ Миша, извините, пропустил линию. См. Edit – Anoop

+0

Мне нужно будет изменить 'axis = 1', чтобы получить строки. Огромное спасибо. – Misha