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 是巢狀序列,或者如果需要副本以滿足任何其他需求 (dtypeorder 等)。對於 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