Numpy學習筆記 介紹

2021-10-02 16:56:56 字數 911 閱讀 7614

numpy是python中科學計算的基礎包。它是乙個python庫,提供多維陣列物件,各種派生物件(如掩碼陣列和矩陣),以及用於陣列快速操作的各種api,有包括數學、邏輯、形狀操作、排序、選擇、輸入輸出、離散傅利葉變換、基本線性代數,基本統計運算和隨機模擬等等。

numpy包的核心是 ndarray 物件。它封裝了python原生的同資料型別的 n 維陣列,為了保證其效能優良,其中有許多操作都是**在本地進行編譯後執行的。

numpy陣列 和 原生python array(陣列)之間有幾個重要的區別:

關於陣列大小和速度的要點在科學計算中尤為重要。舉乙個簡單的例子,考慮將1維陣列中的每個元素與相同長度的另乙個序列中的相應元素相乘的情況。如果資料儲存在兩個python 列表 a 和 b 中,我們可以迭代每個元素,如下所示:

c =

for i in

range

(len

(a))

:*b[i]

)

numpy 為我們提供了兩全其美的解決方案:當涉及到 ndarray 時,逐個元素的操作是「預設模式」,但逐個元素的操作由預編譯的c**快速執行。在numpy中:

c = a * b
以近c速度執行前面的示例所做的事情,但是我們期望基於python的**具有簡單性。的確,numpy的語法更為簡單!最後乙個例子說明了numpy的兩個特徵,它們是numpy的大部分功能的基礎:向量化和廣播。

向量化**有許多優點,其中包括:

numpy完全支援物件導向的方法。 我們知道 ndarray 是乙個類,擁有許多方法和屬性。它的許多方法都由最外層的numpy命名空間中的函式映象,允許程式設計師在他們喜歡的範例中進行編碼。這種靈活性使numpy陣列方言和numpy ndarray 類成為在python中使用的多維資料交換的 首選 物件。

Numpy學習筆記

測試檔案裡的資料排列型別最好是有規律的,不可以隨便,否則將發生一些錯誤 genfromtxt函式 genfromtxt函式建立陣列 資料 genfromtxt主要執行兩個迴圈運算。第乙個迴圈將檔案的每一行轉換成字串序列。第二個迴圈將每個字串序列轉換為相應的資料型別。genfromtxt能夠考慮缺失的...

numpy學習筆記

1 array.ndim 用來輸出陣列的維度 2 array.shape 用來輸出陣列的形狀 3 arry.size 用來輸出陣列的大小見jupyter notebook的numpy function list 生成函式基本運算 直接用陣列的相加減乘除。也就是相對應的元素間的作用。關係運算 陣列元素...

NumPy學習筆記

example np.version np.array 1,2,3 4,5,6 np.zeros 3 3 np.ones 2 3,4 np.eye 3 np.range 5 0,1,2,3,4 np.random.rand 2,3 np.random.randint 5,size 2 3 value...