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