numpy.array#

numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None)#

建立一個陣列。

參數:
objectarray_like

一個陣列、任何公開陣列介面的物件、其 __array__ 方法回傳陣列的物件,或任何(巢狀)序列。如果 object 是純量,則回傳包含 object 的 0 維陣列。

dtypedata-type,選用

陣列的所需資料型別。如果未給定,NumPy 將嘗試使用預設的 dtype,該型別可以表示值(必要時應用提升規則)。

copybool,選用

如果 True(預設值),則複製陣列資料。如果 None,則僅在 __array__ 回傳副本、如果 obj 是巢狀序列,或如果需要副本以滿足任何其他需求(dtypeorder 等)時,才會建立副本。請注意,資料的任何副本都是淺層複製,即,對於具有物件 dtype 的陣列,新陣列將指向相同的物件。請參閱 ndarray.copy 的範例。對於 False,如果無法避免複製,則會引發 ValueError。預設值:True

order{‘K’, ‘A’, ‘C’, ‘F’},選用

指定陣列的記憶體佈局。如果 object 不是陣列,則新建立的陣列將為 C 順序(row major),除非指定了 ‘F’,在這種情況下,它將為 Fortran 順序(column major)。如果 object 是陣列,則以下成立。

order

不複製

copy=True

‘K’

不變

保留 F 和 C 順序,否則為最相似的順序

‘A’

不變

如果輸入為 F 且非 C 順序,則為 F 順序,否則為 C 順序

‘C’

C 順序

C 順序

‘F’

F 順序

F 順序

copy=None 且由於其他原因建立副本時,結果與 copy=True 相同,但 ‘A’ 有一些例外,請參閱「註解」章節。預設順序為 ‘K’。

subokbool,選用

如果為 True,則子類別將被傳遞,否則回傳的陣列將被強制為基底類別陣列(預設值)。

ndminint,選用

指定結果陣列應具有的最小維度數。將根據需要將 1 預先添加到形狀中以滿足此要求。

likearray_like,選用

參考物件,以允許建立非 NumPy 陣列的陣列。如果作為 like 傳入的類陣列物件支援 __array_function__ 協定,則結果將由其定義。在這種情況下,它確保建立與透過此引數傳入的物件相容的陣列物件。

1.20.0 版本新增。

回傳值:
outndarray

滿足指定要求的陣列物件。

參見

empty_like

回傳一個具有輸入形狀和型別的空陣列。

ones_like

回傳一個由 1 填充且具有輸入形狀和型別的陣列。

zeros_like

回傳一個由 0 填充且具有輸入形狀和型別的陣列。

full_like

回傳一個以指定值填充且具有輸入形狀的新陣列。

empty

回傳一個新的未初始化陣列。

ones

回傳一個將值設定為 1 的新陣列。

zeros

回傳一個將值設定為零的新陣列。

full

回傳一個以指定值填充的給定形狀的新陣列。

copy

回傳給定物件的陣列副本。

註解

當 order 為 ‘A’ 且 object 是既非 ‘C’ 也非 ‘F’ 順序的陣列,並且由於 dtype 的變更而強制複製時,結果的順序不一定是預期的 ‘C’。這可能是一個錯誤。

範例

>>> import numpy as np
>>> np.array([1, 2, 3])
array([1, 2, 3])

向上轉型

>>> np.array([1, 2, 3.0])
array([ 1.,  2.,  3.])

超過一個維度

>>> np.array([[1, 2], [3, 4]])
array([[1, 2],
       [3, 4]])

最小維度 2

>>> np.array([1, 2, 3], ndmin=2)
array([[1, 2, 3]])

提供的型別

>>> np.array([1, 2, 3], dtype=complex)
array([ 1.+0.j,  2.+0.j,  3.+0.j])

由多個元素組成的資料型別

>>> x = np.array([(1,2),(3,4)],dtype=[('a','<i4'),('b','<i4')])
>>> x['a']
array([1, 3], dtype=int32)

從子類別建立陣列

>>> np.array(np.asmatrix('1 2; 3 4'))
array([[1, 2],
       [3, 4]])
>>> np.array(np.asmatrix('1 2; 3 4'), subok=True)
matrix([[1, 2],
        [3, 4]])