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 是巢狀序列,或如果需要副本以滿足任何其他需求(dtype
、order
等)時,才會建立副本。請注意,資料的任何副本都是淺層複製,即,對於具有物件 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]])