Numpy06 ---廣播機制

軸 axis

二維數組

0爲橫向,1爲縱向

在這裏插入圖片描述

三維數組

注意:沒有用0表示的軸

在這裏插入圖片描述

廣播機制

從線性代數講,數組就是矩陣,矩陣之間能夠進行加減乘除操作,但是矩陣的加減操作需要矩陣形狀相同, 爲了實現不同矩陣的相加減,在numpy中引入了廣播機制

廣播機制

當數組形狀不同時,numpy通過擴展數組,從而實現不同數組之間相加減

如果兩個數組的後緣維度(trailing dimension,即從末尾開始算起的維度)的軸長度相符,或其中的一方的長度爲1,則認爲它們是廣播兼容的。廣播會在缺失和(或)長度爲1的維度上進行。

數組維度不同,後緣維度的軸長相符

import numpy as np

# 二維數組
arr1 = np.array(
    [[1, 2, 3],
    [4, 5, 6]]
)

arr2 = np.array(
    [1,2,3]
)
print(arr1.shape)
print(arr2.shape)

在這裏插入圖片描述
arr1 是二維數組,形狀是(2,3),arr2是一維數組,形狀是(3,),維數不同,但是後緣維度軸長相同,可以進行運算。

在這裏插入圖片描述
具體運算過程

在這裏插入圖片描述
在這裏插入圖片描述

數組維度相同,其中有個軸爲1

arr1形狀爲(4,3),arr2形狀爲(4,1),都是二維數組,數組自動擴充,然後進行相加

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章