Sto avendo un numpy ndarray in cui vorrei controllare se il vettore di ogni riga è monotonicamente crescente.Controlla in modo efficiente se i valori di ndarray sono numpy strettamente crescenti
Esempio:
a = np.asarray([[1,2,3],[1,5,7],[4,3,6]])
monotonically_increasing(a)
Rendimento atteso:
[True, True, False]
Non sono del tutto sicuro di come fare in modo efficiente questo, dal momento che le matrici dovrebbero essere abbastanza grande (~ 1000x1000), e speravo in qualche aiuto.
Probabilmente è più veloce confrontare ogni elemento con quello adiacente direttamente, piuttosto che confrontare se la loro differenza è maggiore di zero: 'np.all (a [:, 1:]> = a [:,: -1], asse = 1) ' – Jaime
Concur. Nel peggiore dei casi il tuo fa un passaggio e il mio fa un passaggio per il diff e un * più corto * per '' 'np.all'''. – wwii
Ottima risposta, grazie! –