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

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。

Python適合快速開發和數據處理,而C 適合高性能和底層控制。 1)Python易用,語法簡潔,適用於數據科學和Web開發。 2)C 性能高,控制精確,常用於遊戲和系統編程。

學習Python所需時間因人而異,主要受之前的編程經驗、學習動機、學習資源和方法及學習節奏的影響。設定現實的學習目標並通過實踐項目學習效果最佳。

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),