更新時(shí)間:2023-07-25 來源:黑馬程序員 瀏覽量:
NumPy中提供了一個(gè)重要的數(shù)據(jù)結(jié)構(gòu)——ndarray(又稱為array)對(duì)象,該對(duì)象是一個(gè)N維數(shù)組對(duì)象,可以存儲(chǔ)相同類型、以多種形式組織的數(shù)據(jù)。數(shù)組是由相同類型的數(shù)據(jù)按有序的形式組織而成的一個(gè)集合,組成數(shù)組的各個(gè)數(shù)據(jù)稱為數(shù)組的元素。與Python中的數(shù)組相比,ndarray對(duì)象可以處理結(jié)構(gòu)更復(fù)雜的數(shù)據(jù)。
ndarray對(duì)象中定義了一些重要的屬性,部分常用屬性及其說明如表所示。
ndarray對(duì)象中定義的部分常用屬性及其說明
ndim、shape、dtype屬性是比較難理解的,下面分別對(duì)這些屬性進(jìn)行詳細(xì)的介紹。
1.ndim屬性
ndim屬性表示數(shù)組的維度。例如,一維數(shù)組的維度是1,二維數(shù)組的維度是2。
在NumPy中,維度稱為軸,軸的個(gè)數(shù)稱為秩。例如,3D空間中有一個(gè)點(diǎn)的坐標(biāo)為[1.2,3].[1.2,3]是一個(gè)一維數(shù)組,該數(shù)組中軸的個(gè)數(shù)為1,也就是說秩為1。
一維數(shù)組只有一個(gè)軸,其內(nèi)部的所有數(shù)據(jù)沿軸方向依次排列;二維數(shù)組的結(jié)構(gòu)類似于表格,它一共有沿行方向和列方向的兩個(gè)軸,其中沿行方向的軸是編號(hào)為0的軸,沿列方向的軸是編號(hào)為1的軸;三維數(shù)組的結(jié)構(gòu)類似立方體,它一共有沿長(zhǎng)、寬、高方向的3個(gè)軸,這3個(gè)軸依次對(duì)應(yīng)著編號(hào)1、2、0。為加深大家對(duì)軸的理解,接下來,我們通過圖來描述一維、二維、三維數(shù)組的軸。
一維、二維、三維數(shù)組的軸
2.shape屬性
shape屬性表示數(shù)組的形狀,也就是數(shù)組中各維度的大小,該屬性的值為一個(gè)形如(行,列)的元組。例如,有一個(gè)m行n列的二維數(shù)組,該數(shù)組的shape屬性的值為(m,n)。
3.Imtype 屬性
dype屬性表示數(shù)組中元素的類型,它實(shí)質(zhì)上是一個(gè)說明數(shù)據(jù)類型的對(duì)象。NumPy中提供了眾多數(shù)據(jù)類型對(duì)象,常用的數(shù)據(jù)類型及其說明如表所示。