NumPy 中定義的最重要的對象是稱為 ndarray
的 N 維數(shù)組類型。 它描述相同類型的元素集合。 可以使用基于零的索引訪問集合中的項(xiàng)目。
ndarray
中的每個(gè)元素在內(nèi)存中使用相同大小的塊。 ndarray
中的每個(gè)元素是數(shù)據(jù)類型對象的對象(稱為 dtype
)。
從ndarray
對象提取的任何元素(通過切片)由一個(gè)數(shù)組標(biāo)量類型的 Python 對象表示。 下圖顯示了ndarray
,數(shù)據(jù)類型對象(dtype
)和數(shù)組標(biāo)量類型之間的關(guān)系。
ndarray
類的實(shí)例可以通過本教程后面描述的不同的數(shù)組創(chuàng)建例程來構(gòu)造。 基本的ndarray
是使用 NumPy 中的數(shù)組函數(shù)創(chuàng)建的,如下所示:
numpy.array
它從任何暴露數(shù)組接口的對象,或從返回?cái)?shù)組的任何方法創(chuàng)建一個(gè)ndarray。
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
上面的構(gòu)造器接受以下參數(shù):
序號 | 參數(shù)及描述 |
---|---|
1. | object 任何暴露數(shù)組接口方法的對象都會返回一個(gè)數(shù)組或任何(嵌套)序列。 |
2. | dtype 數(shù)組的所需數(shù)據(jù)類型,可選。 |
3. | copy 可選,默認(rèn)為true ,對象是否被復(fù)制。 |
4. | order C (按行)、F (按列)或A (任意,默認(rèn))。 |
5. | subok 默認(rèn)情況下,返回的數(shù)組被強(qiáng)制為基類數(shù)組。 如果為true ,則返回子類。 |
6. | ndimin 指定返回?cái)?shù)組的最小維數(shù)。 |
看看下面的例子來更好地理解。
import numpy as np
a = np.array([1,2,3])
print a
輸出如下:
[1, 2, 3]
# 多于一個(gè)維度
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
輸出如下:
[[1, 2]
[3, 4]]
# 最小維度
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
輸出如下:
[[1, 2, 3, 4, 5]]
# dtype 參數(shù)
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
輸出如下:
[ 1.+0.j, 2.+0.j, 3.+0.j]
ndarray 對象由計(jì)算機(jī)內(nèi)存中的一維連續(xù)區(qū)域組成,帶有將每個(gè)元素映射到內(nèi)存塊中某個(gè)位置的索引方案。 內(nèi)存塊以按行(C 風(fēng)格)或按列(FORTRAN 或 MatLab 風(fēng)格)的方式保存元素。