NumPy教學


NumPy 是一個 Python 包。 它代表 「Numeric Python」。 它是一個由多維陣列物件和用於處理陣列的例程集合組成的庫。

Numeric,即 NumPy 的前身,是由 Jim Hugunin 開發的。 也開發了另一個包 Numarray ,它擁有一些額外的功能。 2005年,Travis Oliphant 通過將 Numarray 的功能整合到 Numeric 包中來建立 NumPy 包。 這個開源專案有很多貢獻者。

NumPy 操作

使用NumPy,開發人員可以執行以下操作:

  • 陣列的算數和邏輯運算。

  • 傅立葉變換和用於圖形操作的例程。

  • 與線性代數有關的操作。 NumPy 擁有線性代數和亂數生成的內建函式。

NumPy – MatLab 的替代之一

NumPy 通常與 SciPy(Scientific Python)和 Matplotlib(繪相簿)一起使用。 這種組合廣泛用於替代 MatLab,是一個流行的技術計算平台。 但是,Python 作為 MatLab 的替代方案,現在被視為一種更加現代和完整的程式設計語言。

NumPy 是開源的,這是它的一個額外的優勢。

教學目錄

  1. NumPy環境安裝組態 - 標準的 Python 發行版不會與 NumPy 模組捆綁在一起。 一個輕量級的替代方法是使用流行的 Python 包安裝程式 pip 來安裝 NumPy。
  2. NumPy Ndarray物件 - NumPy 中定義的最重要的物件是稱為 ndarray 的 N 維陣列型別。 它描述相同型別的元素集合。可以使用基於零的索引存取集合中的專案。
  3. NumPy資料型別 - NumPy 比 Python 支援更多種類的數值型別。
  4. NumPy陣列屬性 - NumPy陣列屬性返回一個包含陣列維度的元組,它也可以用於調整陣列大小。
  5. NumPy陣列建立例程 - 新的ndarray物件可以通過任何下列陣列建立例程或使用低階ndarray建構函式構造。
  6. NumPy來自現有資料的陣列 - 這一章中會討論如何從現有資料建立陣列。
  7. NumPy來自數值範圍的陣列 - 這一章中學到如何從數值範圍建立陣列。
  8. NumPy切片和索引 - ndarray物件中的元素遵循基於零的索引。 有三種可用的索引方法型別: 欄位存取,基本切片和高階索引。
  9. NumPy高階索引 - 如果一個ndarray是非元組序列,資料型別為整數或布林值的ndarray,或者至少一個元素為序列物件的元組,就能夠用它來索引ndarray。
  10. NumPy廣播 - 術語廣播是指 NumPy 在算術運算期間處理不同形狀的陣列的能力。 對陣列的算術運算通常在相應的元素上進行。
  11. NumPy在陣列上的疊代 - NumPy 包包含一個疊代器物件numpy.nditer。 它是一個有效的多維疊代器物件,可以用於在陣列上進行疊代。 陣列的每個元素可使用 Python 的標準Iterator介面來存取。
  12. NumPy陣列操作 - NumPy包中有幾個例程用於處理ndarray物件中的元素。
  13. NumPy位元運算 - NumPy 包中可用的位元運算函式。
  14. NumPy字串函式 - 對dtypenumpy.string_numpy.unicode_的陣列執行向量化字串操作。 它們基於 Python 內建庫中的標準字串函式。
  15. NumPy數學算數函式 - NumPy 包含大量的各種數學運算功能。 NumPy 提供標準的三角函式,算術運算的函式,複數處理常式等。
  16. NumPy統計函式 - NumPy 有很多有用的統計函式,用於從陣列中給定的元素中查詢最小,最大,百分標準差和方差等。
  17. NumPy排序、搜尋和計數函式 - NumPy中提供了各種排序相關功能。 這些排序函式實現不同的排序演算法,每個排序演算法的特徵在於執行速度,最壞情況效能,所需的工作空間和演算法的穩定性。
  18. NumPy位元組交換 - 儲存在計算機記憶體中的資料取決於 CPU 使用的架構。 它可以是小端(最小有效位儲存在最小地址中)或大端(最小有效位元組儲存在最大地址中)。
  19. NumPy副本和檢視 - 在執行函式時,其中一些返回輸入陣列的副本,而另一些返回檢視。 當內容物理儲存在另一個位置時,稱為副本。 另一方面,如果提供了相同記憶體內容的不同檢視,我們將其稱為檢視。
  20. NumPy矩陣庫 - NumPy 包包含一個 Matrix庫numpy.matlib。此模組的函式返回矩陣而不是返回ndarray物件。
  21. NumPy線性代數 - NumPy 包包含numpy.linalg模組,提供線性代數所需的所有功能。
  22. NumPy使用 Matplotlib 繪製直方圖 - NumPy 有一個numpy.histogram()函式,它是資料的頻率分布的圖形表示。 水平尺寸相等的矩形對應於類間隔,稱為bin,變數height對應於頻率。
  23. NumPy IO檔案操作 - ndarray物件可以儲存到磁碟檔案並從磁碟檔案載入。

註:本教學內容由 http://www.flygon.net 翻譯提供。