numpy.asarray#
- numpy.asarray(a, dtype=None, order=None, *, device=None, copy=None, like=None)#
將輸入轉換為陣列。
- 參數:
- aarray_like
輸入資料,可以是任何可以轉換為陣列的形式。這包括列表、元組列表、元組、元組的元組、列表的元組和 ndarray。
- dtypedata-type,選用
預設情況下,資料型別會從輸入資料推斷。
- order{‘C’, ‘F’, ‘A’, ‘K’},選用
記憶體佈局。「A」和「K」取決於輸入陣列 a 的順序。「C」row-major (C 風格)、「F」column-major (Fortran 風格) 記憶體表示法。「A」(任何) 表示如果 a 是 Fortran 連續的則為「F」,否則為「C」。「K」(保留) 保留輸入順序。預設為「K」。
- devicestr,選用
放置建立陣列的裝置。預設值:
None
。僅用於 Array-API 互通性,因此如果傳遞則必須為"cpu"
。版本 2.0.0 新增。
- copybool,選用
如果
True
,則複製物件。如果None
,則僅在需要時複製物件,即如果__array__
傳回副本,如果 obj 是巢狀序列,或者如果需要副本以滿足任何其他需求 (dtype
、order
等)。對於False
,如果無法避免複製,則會引發ValueError
。預設值:None
。版本 2.0.0 新增。
- likearray_like,選用
參考物件,允許建立非 NumPy 陣列的陣列。如果作為
like
傳入的類陣列物件支援__array_function__
協定,則結果將由其定義。在這種情況下,它確保建立與透過此引數傳入的物件相容的陣列物件。版本 1.20.0 新增。
- 傳回值:
- outndarray
a
的陣列解釋。如果輸入已經是具有相符 dtype 和順序的 ndarray,則不執行複製。如果a
是 ndarray 的子類別,則傳回基底類別 ndarray。
另請參閱
asanyarray
類似的函式,會傳遞子類別。
ascontiguousarray
將輸入轉換為連續陣列。
asfortranarray
將輸入轉換為具有 column-major 記憶體順序的 ndarray。
asarray_chkfinite
類似的函式,會檢查輸入是否有 NaN 和 Inf。
fromiter
從迭代器建立陣列。
fromfunction
透過對網格位置執行函式來建構陣列。
範例
將列表轉換為陣列
>>> a = [1, 2] >>> import numpy as np >>> np.asarray(a) array([1, 2])
現有的陣列不會被複製
>>> a = np.array([1, 2]) >>> np.asarray(a) is a True
如果設定
dtype
,則僅當 dtype 不符時才會複製陣列>>> a = np.array([1, 2], dtype=np.float32) >>> np.shares_memory(np.asarray(a, dtype=np.float32), a) True >>> np.shares_memory(np.asarray(a, dtype=np.float64), a) False
與
asanyarray
相反,ndarray 子類別不會被傳遞>>> issubclass(np.recarray, np.ndarray) True >>> a = np.array([(1., 2), (3., 4)], dtype='f4,i4').view(np.recarray) >>> np.asarray(a) is a False >>> np.asanyarray(a) is a True