Sto cercando di scrivere una funzione per eliminare tutte le righe in cui hanno un valore pari a zero in Questo non è dal mio codice, ma un esempio dell'idea che sto usando:.Come si elimina una riga in una matrice numpy che contiene uno zero?
import numpy as np
a=np.array(([7,1,2,8],[4,0,3,2],[5,8,3,6],[4,3,2,0]))
b=[]
for i in range(len(a)):
for j in range (len(a[i])):
if a[i][j]==0:
b.append(i)
print 'b=', b
for zero_row in b:
x=np.delete(a,zero_row, 0)
print 'a=',a
e questo è la mia uscita:
b= [1, 3]
a= [[7 1 2 8]
[4 0 3 2]
[5 8 3 6]
[4 3 2 0]]
Come sbarazzarmi delle righe con l'indice in b? Scusate, sono abbastanza nuovo per questo ogni aiuto sarebbe molto apprezzato.
Solo un commento. Quel pezzo di codice di esempio che hai postato scorre su 'b' per eliminare singole righe. Non è affatto necessario. 'a = np.delete (a, b, axis = 0)' funziona come un incantesimo ('asse' specificato per rendere più evidente quello che stiamo facendo) –