【Numpy】資料處理-Numpy庫基本介紹

語言: CN / TW / HK

highlight: a11y-dark theme: qklhk-chocolate


攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第28天,點選檢視活動詳情

1. Numpy庫介紹

Numpy是一個開源的Python科學計算庫,用於快速處理任意維度的陣列。

Numpy支援常見的陣列和矩陣操作,對於同樣的數值計算任務,使用Numpy比直接使用Python要簡潔的多。

Numpy使用ndarray物件來處理多維陣列,該物件是一個快速而靈活的大資料容器。個人認為Numpy的陣列與矩陣操作,與Matlab軟體功能十分相似,同樣也能夠實現Matlab的一些功能。

2. ndarray介紹

Numpy提供了一個N維陣列型別ndarray,它描述了相同型別的“item”的集合。

建立numpy陣列的方式如下所示:使用np.array可以建立一個數組,用ndarray進行儲存。下面程式碼中的np.array後面巢狀的是一個二維陣列。

python import numpy as np score = np.array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]) print(score) 執行結果如下圖所示:

image.png

當然,使用Python列表可以儲存一維陣列,通過列表的巢狀可以實現多維陣列。但是ndarray要比Python陣列運算效率高很多,計算速度也快很多,這樣就節約了大量時間,尤其是針對機器學習的運算。

機器學習的最大特點就是大量資料運算,那麼如果沒有一個快速的解決方案,那可能現在python也在機器學習領域達不到好的效果。

ndarray與Python的list對比: - list:分離式儲存,儲存內容多樣化 - ndarray:一體式儲存,儲存型別必須一樣 - ndarray支援並行化運算,其底層程式碼使用C語言編寫的,效率更高。

注意:Numpy專門針對ndarray的操作和運算進行了設計(直接儲存),所以陣列的儲存效率和輸入輸出效能遠優於Python中的巢狀列表(先找地址,再找內容),陣列越大,Numpy的優勢就越凸顯出來。

但是,Numpy儲存的列表中內容的型別必須是相同的,Python列表既可以儲存資料有可以同時儲存字串。