często podczas pracy z numpy rozróżnienie jest denerwujące - kiedy wyciągam wektor lub wiersz z macierzy, a następnie wykonuję operacje z np.array
s zazwyczaj występują problemy.numpy np.array kontra np.matrix (wydajność)
Aby zmniejszyć bóle głowy, czasami używałem tylko np.matrix
(konwertowanie wszystkich np.arrays na np.matrix
) dla uproszczenia. jednak podejrzewam, że są pewne konsekwencje dla wydajności. Czy ktokolwiek może komentować, co to może być i dlaczego?
Wygląda na to, że jeśli obie są tylko tablicami pod maską, dostęp do elementu jest po prostu obliczeniem offsetowym, aby uzyskać wartość, więc nie jestem pewien bez przeczytania całego źródła, jaka może być różnica.
dokładniej, co wydajność oznacza to przede wszystkim:
v = np.matrix([1, 2, 3, 4])
# versus the below
w = np.array([1, 2, 3, 4])
dzięki
Duplikat [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-array-and-matrices-which-one-should-iu) – jozzas
Tak, ale moje pytanie dotyczy wydajności, o której nie wspomniano w tym poście . Zmienię moje pytanie, aby uczynić ten cel bardziej przejrzystym. – lollercoaster
Wątpię, czy są jakieś znaczące konsekwencje dla wydajności, ale trudno powiedzieć, nie wiedząc dokładnie, co planujesz * robiąc * z obiektem, gdy go utworzysz. Dlaczego nie wykonać niektórych funkcji testowych i spróbować wypróbować 'timeit'? – mgilson