часто при работе с numpy. Я нахожу различие раздражающим - когда я вытягиваю вектор или строку из матрицы, а затем выполняю операции с np.array
, обычно возникают проблемы.numpy np.array versus np.matrix (производительность)
для уменьшения головных болей, я иногда использовал только np.matrix
(преобразование всех np.arrays в np.matrix
) просто для простоты. однако, я подозреваю, что есть некоторые последствия для производительности. может ли кто-нибудь прокомментировать, что это может быть и почему?
Кажется, что если они оба представляют собой массивы под капотом, доступ к элементу - это просто расчет смещения, чтобы получить значение, поэтому я не уверен, не прочитав весь источник, какая разница.
более конкретно, какие последствия производительности делает это имеет:
v = np.matrix([1, 2, 3, 4])
# versus the below
w = np.array([1, 2, 3, 4])
благодаря
Дубликат [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-difference-between-numpy-arrays-and-matrices-which-one-should-iu) – jozzas
да, но мой вопрос касается производительности, о которой не упоминается в этом сообщении , Я отредактирую свой вопрос, чтобы сделать этот фокус более понятным. – lollercoaster
Я сомневаюсь, что есть существенные последствия для производительности, но это трудно сказать, не зная точно, что вы планируете * делать * с объектом после его создания. Почему бы не сделать некоторые тестовые функции и не попробовать 'timeit'? – mgilson