python numpy 基础运算

注意:两个(1,3)或(3,1)的矩阵不能直接使用np.dot(),可以使用np.dot()有两种情况,一种是都是一维数组,另外一种是满足矩阵相乘的运算,因为他们不是一维数(3,),所以不能运算.

#使用1
a = np.array([1,2,3])
np.dot(a,a)# 14
#使用二
b = a.reshape(1,3)
c = a.reshape(3,1)
np.dot(b,c)
#Out[11]: array([[14]])

对于上述求得的可以通过np.squeeze()可以将二维数组转化为一维数组
d = np.squeeze(np.dot(b,c)) #array(14)

而对于刚才的两个(1,3)的数组,我们如果想求他们对应元素相乘的和,可以先使用np.squeeze()压缩为一维数组再使用np.dot

b = np.squeeze(b)# array([1, 2, 3])
np.dot(b,b) # 14

或者直接使用np.multiply()使他们元素相乘(也可以使用*),再求和。

b = a.reshape(1,3)
c = np.multiply(b,b) #array([[1, 4, 9]])

注意:在使用如下语句时,后面不应该再添加a=-2,会报错。

a=1
a=2 if a>0 else -2

未完待续…

猜你喜欢

转载自blog.csdn.net/weixin_40548136/article/details/86358662