NumPy 最重要的一個(gè)特點(diǎn)是其 N 維數(shù)組對(duì)象 ndarray,它是一系列同類型數(shù)據(jù)的集合,以 0 下標(biāo)為開始進(jìn)行集合中元素的索引。
ndarray 對(duì)象是用于存放同類型元素的多維數(shù)組。
ndarray 中的每個(gè)元素在內(nèi)存中都有相同存儲(chǔ)大小的區(qū)域。
ndarray 內(nèi)部由以下內(nèi)容組成:
一個(gè)指向數(shù)據(jù)(內(nèi)存或內(nèi)存映射文件中的一塊數(shù)據(jù))的指針。
數(shù)據(jù)類型或 dtype,描述在數(shù)組中的固定大小值的格子。
一個(gè)表示數(shù)組形狀(shape)的元組,表示各維度大小的元組。
一個(gè)跨度元組(stride),其中的整數(shù)指的是為了前進(jìn)到當(dāng)前維度下一個(gè)元素需要"跨過(guò)"的字節(jié)數(shù)。
ndarray 的內(nèi)部結(jié)構(gòu):
跨度可以是負(fù)數(shù),這樣會(huì)使數(shù)組在內(nèi)存中后向移動(dòng),切片中 obj[::-1] 或 obj[:,::-1] 就是如此。
創(chuàng)建一個(gè) ndarray 只需調(diào)用 NumPy 的 array 函數(shù)即可:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
參數(shù)說(shuō)明:
名稱 | 描述 |
---|---|
object | 數(shù)組或嵌套的數(shù)列 |
dtype | 數(shù)組元素的數(shù)據(jù)類型,可選 |
copy | 對(duì)象是否需要復(fù)制,可選 |
order | 創(chuàng)建數(shù)組的樣式,C為行方向,F(xiàn)為列方向,A為任意方向(默認(rèn)) |
subok | 默認(rèn)返回一個(gè)與基類類型一致的數(shù)組 |
ndmin | 指定生成數(shù)組的最小維度 |
接下來(lái)可以通過(guò)以下實(shí)例幫助我們更好的理解。
輸出結(jié)果如下:
[1 2 3]
輸出結(jié)果如下:
[[1 2] [3 4]]
輸出如下:
[[1 2 3 4 5]]
輸出結(jié)果如下:
[1.+0.j 2.+0.j 3.+0.j]
ndarray 對(duì)象由計(jì)算機(jī)內(nèi)存的連續(xù)一維部分組成,并結(jié)合索引模式,將每個(gè)元素映射到內(nèi)存塊中的一個(gè)位置。內(nèi)存塊以行順序(C樣式)或列順序(FORTRAN或MatLab風(fēng)格,即前述的F樣式)來(lái)保存元素。
聯(lián)系客服