numpy廣播機制

2021-08-17 03:35:29 字數 639 閱讀 4557

1.廣播法則是為了更好的處理不同維數矩陣之間的運算

1)廣播第一法則是,如果所有的輸入陣列維度不都相同,乙個「1」將被重複地新增在維度較小的陣列上直至所有的陣列擁有一樣的維度。

2)廣播第二法則確定長度為1的陣列沿著特殊的方向表現地好像它有沿著那個方向最大形狀的大小。對陣列來說,沿著那個維度的陣列元素的值理應相同。

例項:

a=arange(8).reshape(2,4)

a=array([[0, 1, 2, 3],

[4, 5, 6, 7]])

b=array([1,2,3,4])

b.shape

(4,)

a生成的是乙個兩行四列的二維矩陣,b生成的是乙個一維陣列。根據廣播法則一,「1」將被新增在維度較小的陣列b上(從前向後新增維數),b會被被廣播為

b=array([[1,2,3,4]])

b.shape=(1,4)

再根據廣播法則二,b被廣播為

b=array([[1,2,3,4],

[1,2,3,4]])

此時就可以完成不同維度矩陣之間的運算

numpy中的廣播機制

numpy兩個陣列的相加 相減以及相乘都是對應元素之間的操作。import numpy as np x np.array 2,2,3 1,2,3 y np.array 1,1,3 2,2,4 print x y numpy當中的陣列相乘是對應元素的乘積,與線性代數當中的矩陣相乘不一樣 輸入結果如下 ...

numpy中的廣播機制

結論 廣播原則 如果兩個陣列的後緣維度 即 從末尾開始算起的維度 的軸長相符或其中一方的長度為1,則認為它們是廣播相容的,廣播會在缺失和 或 長度為1的軸上進行.1.讓所有輸入陣列都向其中shape最長的陣列看齊,shape中不足的部分都通過在前面加1補齊 2.輸出陣列的shape是輸入陣列shap...

Numpy的廣播機制(broadcast)

原理 如果兩個陣列的後緣維度 從末尾開始算起的維度 的軸長度相符或其中一方的長度為1,則認為它們是廣播相容的,廣播會在缺失維度或者軸長度為1的維度上進行。舉例說明 import numpy as np arr np.random.randn 4,3 shape 4,3 首先通過計算說明什麼是缺失維度...