Spesso quando lavoro con Numpy trovo fastidiosa la distinzione - quando estraggo un vettore o una riga da una matrice e poi eseguo operazioni con np.array
s di solito ci sono problemi.numpy np.array rispetto a np.matrix (prestazioni)
per ridurre il mal di testa, ho preso a volte solo usando np.matrix
(conversione di tutti i np.arrays a np.matrix
) solo per semplicità. tuttavia, sospetto ci siano alcune implicazioni sulla performance. Qualcuno potrebbe commentare ciò che potrebbero essere e le ragioni per cui?
sembra che siano entrambi solo array sotto il cofano che l'accesso agli elementi è semplicemente un calcolo di offset per ottenere il valore, quindi non sono sicuro senza leggere l'intera fonte quale potrebbe essere la differenza.
più specificamente, quali implicazioni prestazioni ha questo:
v = np.matrix([1, 2, 3, 4])
# versus the below
w = np.array([1, 2, 3, 4])
grazie
Duplicato di [http://stackoverflow.com/questions/4151128/what-are-the-differences-between-numpy-arrays-and-matrices-which-one-should-iu](http://stackoverflow .com/questions/4151128/what-are-the-differences-between-numpy-arrays-and-matrici-which-one-i-iu) – jozzas
sì, ma la mia domanda riguarda le prestazioni, che non è menzionata in quel post . Modificherò la mia domanda per rendere quella messa a fuoco più chiara. – lollercoaster
Dubito che ci siano implicazioni significative sulle prestazioni, ma è piuttosto difficile da dire senza sapere esattamente cosa si sta pianificando per * fare * con l'oggetto una volta creato. Perché non eseguire alcune funzioni di test e dare una "prova del tempo"? – mgilson