更新時間:2020年11月30日10時22分 來源:傳智教育 瀏覽次數:
NumPy作為高性能科學計算和數據分析的基礎包,它是本書介紹的其它重要數據分析工具的基礎,掌握NumPy的功能及其用法,將有助于后續(xù)其他數據分析工具的學習。
NumPy中最重要的一個特點就是其N維數組對象,即ndarray(別名array)對象,該對象具有矢量算術能力和復雜的廣播能力,可以執(zhí)行一些科學計算。不同于Python標準庫,ndarray對象擁有對高維數組的處理能力,這也是數值計算中缺一不可的重要特性。
ndarray對象中定義了一些重要的屬性,具體如表1所示。
ndarray對象的常用屬性
屬性 | 具體說明 |
---|---|
ndarray.ndim | 維度個數,也就是數組軸的個數,比如一維、二維、三維等 |
ndarray.shape | 數組的維度。這是一個整數的元組,表示每個維度上數組的大小。例如,一個n行和m列的數組,它的shape屬性為(n,m) |
ndarray.size | 數組元素的總個數,等于shape屬性中元組元素的乘積 |
ndarray.dtype | 描述數組中元素類型的對象,既可以使用標準的Python類型創(chuàng)建或指定,也可以使用NumPy特有的數據類型來指定,比如numpy.int32、numpy.float64等 |
ndarray.itemsize | 數組中每個元素的字節(jié)大小。例如,元素類型為float64的數組有8(64/8)個字節(jié),這相當于ndarray.dtype.itemsize |
值得一提的是,ndarray對象中存儲元素的類型必須是相同的。
為了讓讀者更好地理解ndarray,接下來,通過一些示例來演示ndarray對象 的使用,具體代碼如下。
In [1]: import numpy as np # 導入NumPy工具包
In [2]: data = np.arange(12).reshape(3, 4) # 創(chuàng)建一個3行4列的數組
In [3]: data
Out[3]:
array([[ 0, 1, 2, 3],
? [ 4, 5, 6, 7],
? [ 8, 9, 10, 11]])
In [4]: type(data)
Out[4]: numpy.ndarray
In [5]: data.ndim # 數組維度的個數,輸出結果2,表示二維數組
Out[5]: 2
In [6]: data.shape # 數組的維度,輸出結果(3,4),表示3行4列
Out[6]: (3, 4)
In [7]: data.size # 數組元素的個數,輸出結果12,表示總共有12個元素
Out[7]: 12
In [8]: data.dtype # 數組元素的類型,輸出結果dtype('int64'),表示元素類型都是int64
Out[8]: dtype('int64')
上述示例中,第1行代碼使用import...as語句導入numpy庫,并將其取別名為np,表示后續(xù)會用np代替numpy執(zhí)行操作。
第2行代碼使用arange()和reshape()函數,創(chuàng)建了一個3行4列的數組data。其中,arange()函數的功能類似于range(),只不過arange()函數生成的是一系列數字元素的數組;reshape()函數的功能是重組數組的行數、列數和維度。
第4行代碼使用type()函數查看了數組的類型,輸出結果為numpy.ndarray。
第5行代碼獲取了數組的維度個數,返回結果為2,表示二維數組。
第6行代碼獲取了數組的維度,返回結果為(3,4),表示數組有3行4列。
第7行代碼獲取了數組中元素的總個數,返回結果為12,表示數組中一共有12個元素。
第8行代碼獲取了元素的具體類型,返回結果為dtype('int64'),表示元素的類型為int64。
猜你喜歡: