1. 程式人生 > >numpy 學習彙總15 -廣播 ( 基礎學習 tcy)

numpy 學習彙總15 -廣播 ( 基礎學習 tcy)

廣播  2018/6/19  2018/11/21
===================================================================
1.說明:
    
廣播描述了算術運算期間numpy如何處理具有不同形狀的陣列
NumPy使用廣播決定處理不同形狀陣列; 如算術運算(+, -,*,陣列操作之前廣播。
    
2.規則
    
1) 兩個維度對應相等或是1;不等一方必為1 ;缺失一方必為0;
2) 從尾隨的維度開始前進,較小的軸展開為較大的軸
    
3.例項
A      (2d array):  3 x 1
B      (1d array):  1 x 4   # Result (2d array):   3 x 4
    
# 不會廣播:
A      (1d array):  3
B      (1d array):  4 #
    
例子1:
    
a = np.array([10.0, 20.0, 30.0, 40.0])
b = np.array([1.0, 2.0, 3.0])
a1=a[:, np.newaxis]#newaxis索引操作符插入一個新的軸a,使其成為一個二維4x1陣列
    
array([[10.],
           [20.],
           [30.],
           [40.]])
    
a1+b
    
array([[11., 12., 13.],
           [21., 22., 23.],
           [31., 32., 33.],
           [41., 42., 43.]])

===================================================================