NumPy - 廣播
術語廣播是指 NumPy 在算術運算期間處理不同形狀的數組的能力。 對數組的算術運算通常在相應的元素上進行。 如果兩個陣列具有完全相同的形狀,則這些操作被無縫執行。
輸出如下:
如果兩個數組的維數不相同,則元素到元素的操作是不可能的。 然而,在 NumPy 中仍然可以對形狀不相似的數組進行操作,因為它擁有廣播功能。 較小的數組會廣播到較大數組的大小,以便使它們的形狀可相容。
如果滿足以下規則,可以進行廣播:
<code>ndim</code>較小的數組會在前面追加一個長度為 1 的次元。
輸出數組的每個次元的大小是輸入數組該次元大小的最大值。
如果輸入在每個次元中的大小與輸出大小比對,或其值正好為 1,則在計算中可它。
如果輸入的某個次元大小為 1,則該次元中的第一個資料元素将用于該次元的所有計算。
如果上述規則産生有效結果,并且滿足以下條件之一,那麼數組被稱為可廣播的。
數組擁有相同形狀。
數組擁有相同的維數,每個次元擁有相同長度,或者長度為 1。
數組擁有極少的次元,可以在其前面追加長度為 1 的次元,使上述條件成立。
下面的例稱展示了廣播的示例。
下面的圖檔展示了數組<code>b</code>如何通過廣播來與數組<code>a</code>相容。
