2014-10-25 3 views
1

Я пытаюсь удалить массивы этой матрицы:Как удалить массивы с NumPy

https://mega.co.nz/#!wNo2Cb5T!0EoALVMtTJbC1-7dgFLbVK8deinL8tGK0eI68bRCOwo

мне нужно удалить только массивы, которые имеют -1 в последнем столбце, я попытался это, но Безразлично» т:

for i in range (m): 
    if matriz[i][8]==-1: 
    matriz=numpy.delete(matriz,i,0) 

Любая идея? :)

+1

Что вы имеете в виду: '' Это не работает? ''. Он ничего не делает? Это крушение? Вызывает ли это неблагоприятный результат? –

+0

Проблема в том, что на выходе все еще есть массивы с «-1» в последнем столбце. – Sadae

ответ

2

Вы на самом деле не «удалить» здесь, вы должны просто использовать индексацию:

good_rows = matriz[:,8] != -1 
good_matriz = matrix[good_rows] 

Это даст вам строки, где девятый столбец не -1, и это более эффективно, чем удаление одного за раз, потому что он не копирует ваши данные.

+0

Огромное спасибо! Прекрасно работает! : D – Sadae

+2

@Sadae подумайте о принятии ответа ... –