top
Loading...
NumPy Ndarray 對象

NumPy Ndarray 對象

NumPy 最重要的一個特點是其 N 維數組對象 ndarray,它是一系列同類型數據的集合,以 0 下標為開始進行集合中元素的索引。

ndarray 對象是用於存放同類型元素的多維數組。

ndarray 中的每個元素在內存中都有相同存儲大小的區域。

ndarray 內部由以下內容組成:

  • 一個指向數據(內存或內存映射文件中的一塊數據)的指針。

  • 數據類型或 dtype,描述在數組中的固定大小值的格子。

  • 一個表示數組形狀(shape)的元組,表示各維度大小的元組。

  • 一個跨度元組(stride),其中的整數指的是為了前進到當前維度下一個元素需要"跨過"的字節數。

ndarray 的內部結構:

跨度可以是負數,這樣會使數組在內存中後向移動,切片中 obj[::-1]obj[:,::-1] 就是如此。

創建一個 ndarray 只需調用 NumPy 的 array 函數即可:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

參數說明:

名稱 描述
object 數組或嵌套的數列
dtype 數組元素的數據類型,可選
copy 對象是否需要復製,可選
order 創建數組的樣式,C為行方向,F為列方向,A為任意方向(默認)
subok 默認返回一個與基類類型一致的數組
ndmin 指定生成數組的最小維度

實例

接下來可以通過以下實例幫助我們更好的理解。

實例 1

import numpy as np a = np.array([1,2,3]) print (a)

輸出結果如下:

[1, 2, 3]

實例 2

# 多於一個維度 import numpy as np a = np.array([[1, 2], [3, 4]]) print (a)

輸出結果如下:

[[1, 2] 
 [3, 4]]

實例 3

# 最小維度 import numpy as np a = np.array([1, 2, 3,4,5], ndmin = 2) print (a)

輸出如下:

[[1, 2, 3, 4, 5]]

實例 4

# dtype 參數 import numpy as np a = np.array([1, 2, 3], dtype = complex) print (a)

輸出結果如下:

[ 1.+0.j,  2.+0.j,  3.+0.j]

ndarray 對象由計算機內存的連續一維部分組成,併結合索引模式,將每個元素映射到內存塊中的一個位置。內存塊以行順序(C樣式)或列順序(FORTRAN或MatLab風格,即前述的F樣式)來保存元素。

北斗有巢氏 有巢氏北斗