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