import numpy as np import pandas as pd list = [1,2,3,4,1,2,3,4] a= np.array(list).reshape(2,4) f = np.array(list).reshape(4,2) b= np.array([1,2,3,4]) c = np.array([1,1,1]) d = np.array([2,2,2]) e = b[:,None]
1. dot
标准的矩阵乘法。
np.dot(e,b) ##报错:ValueError: shapes (4,1) and (4,) not aligned: 1 (dim 1) != 4 (dim 0) np.dot(b,e) ##矩阵*向量 左边为矩阵因此输出矩阵 array([30]) np.dot(e,np.array(b,ndmin=2)) ##矩阵相乘 array([[ 1, 2, 3, 4], [ 2, 4, 6, 8], [ 3, 6, 9, 12], [ 4, 8, 12, 16]]) np.dot(b,b) ##向量相乘,左边为向量,因此输出为值 Out[109]: 30
2. multiply
对应的位置相乘
np.multiply(a,a)
array([[ 1, 4, 9, 16],
[ 1, 4, 9, 16]])
3. *
对应位置相乘类似于multiply