NumPy Ndarray物件


NumPy - Ndarray 物件

NumPy 中定義的最重要的物件是稱為 ndarray 的 N 維陣列型別。 它描述相同型別的元素集合。 可以使用基於零的索引存取集合中的專案。

ndarray中的每個元素在記憶體中使用相同大小的塊。 ndarray中的每個元素是資料型別物件的物件(稱為 dtype)。

ndarray物件提取的任何元素(通過切片)由一個陣列標量型別的 Python 物件表示。 下圖顯示了ndarray,資料型別物件(dtype)和陣列標量型別之間的關係。

ndarray類的範例可以通過本教學後面描述的不同的陣列建立例程來構造。 基本的ndarray是使用 NumPy 中的陣列函式建立的,如下所示:

numpy.array

它從任何暴露陣列介面的物件,或從返回陣列的任何方法建立一個ndarray。

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

上面的構造器接受以下引數:

序號 引數及描述
1. object 任何暴露陣列介面方法的物件都會返回一個陣列或任何(巢狀)序列。
2. dtype 陣列的所需資料型別,可選。
3. copy 可選,預設為true,物件是否被複製。
4. order C(按行)、F(按列)或A(任意,預設)。
5. subok 預設情況下,返回的陣列被強制為基礎類別陣列。 如果為true,則返回子類。
6. ndimin 指定返回陣列的最小維數。

看看下面的例子來更好地理解。

範例 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 風格)的方式儲存元素。