“廣播”是指NumPy 在算術運算時如何處理不同維度的數組。較小的數組在較大的數組中“廣播”,但受到一定的限制,以確保它們的形狀是一致的。廣播允許您對數組操作進行矢量化,從而允許您在 C 而不是 Python 中循環。」
這是在不需要不必要的資料副本的情況下完成的,從而實現高效的演算法實作。在某些情況下,廣播是一個消極的想法,因為它會導致記憶體利用率的浪費,從而減慢計算速度。
在本文中,我們將向您展示如何使用 python 使用 NumPy 陣列執行廣播。
步驟 1. 建立兩個維度相容的陣列
#步驟 2. 列印給定的陣列
#步驟3.對兩個陣列進行算術運算
#步驟 4. 列印結果陣列
使用arange()函數建立一個由0到n-1的數字組成的numpy數組(arange()函數傳回在給定區間內均勻間隔的值。在半開區間[start,stop]內產生值),把某個平凡值加到其中。
###例### 雷雷將具有相容維度的多個陣列相加
輸出
雷雷建立兩個維度不相容的 NumPy 陣列 (6, 4) 和 (6, 1)。當我們嘗試新增兩個陣列的相應元素時,它會引發錯誤,如下所示。
###例### 雷雷行數為6,列數為4。
使用 arange() 函數建立一個多維數組,並使用 reshape() 函數將其重塑為隨機數量的行和列。使用 arange() 函數建立另一個線性數組並對這兩個數組求和。
範例1
雷雷給定的線性陣列進行擴展以適應給定的陣列1(多維陣列)的維度。由於兩個陣列的陣列是相容的,這是可能的。
理解多個數組可以沿著多個維度傳播是至關重要的。 Array1 的維度為 (6, 5, 4, 2),而 array2 的維度為 (5, 4, 1)。維度數組是透過沿著第三維拉伸 array1 和沿著第一維和第二維 (6, 5, 4, 2) 拉伸 array2 形成的。
以上是如何使用Python使用動態陣列執行Numpy廣播?的詳細內容。更多資訊請關注PHP中文網其他相關文章!