In Numpy, nonzero(a)
, where(a)
e argwhere(a)
, con a
come array numpy, tutti sembrano restituire gli indici diversi dall'array. Quali sono le differenze tra queste tre chiamate?Differenza tra non zero (a), dove (a) e argwhere (a). Quando usare quale?
Sulla
argwhere
la documentazione dice:np.argwhere(a)
è lo stesso dinp.transpose(np.nonzero(a))
.Perché un'intera funzione ha appena trasposto l'uscita di
nonzero
? Quando sarebbe così utile che meriti una funzione separata?E la differenza tra
where(a)
enonzero(a)
? Non restituirebbero lo stesso identico risultato?
'where' dà la possibilità di tornare da due diversi array, penso che sia la ragione principale per questo semplicemente' nonzero' – askewchan
Mi aspetto che il motivo principale sia storico :), che np.where fa nell'altro caso è fondamentalmente np.choose ... – seberg