1. 程式人生 > >python numpy 基礎運算

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

未完待續…