Обе строки возвращают массив.
вая 2Dnumpy
массив, мне нужно вычислить скалярное произведение каждого столбца с собой и сохранить результат в одномерном массиве. Следующие работы:
In [45]: A = np.array([[1,2,3,4],[5,6,7,8]])
In [46]: np.array([np.dot(A[:,i], A[:,i]) for i in xrange(A.shape[1])])
Out[46]: array([26, 40, 58, 80])
Есть ли простой способ избежать цикла Python? Вышесказанное вряд ли конец света, но если естьnumpy
Примитивно для этого, я хотел бы использовать его.
редактировать На практике матрица имеет много строк и относительно мало столбцов. Поэтому я не слишком заинтересован в создании временных массивов, превышающихO(A.shape[1])
, Я тоже не могу изменитьA
на месте.