numpy.asarray#
- numpy.asarray(a, dtype=None, order=None, *, device=None, copy=None, like=None)#
將輸入轉換為陣列。
- 引數:
- a類陣列物件
輸入資料,可以是任何能轉換為陣列的形式。這包括列表、元組列表、元組、元組的元組、列表的元組以及 ndarray。
- dtype資料型別,可選
預設情況下,資料型別是從輸入資料推斷的。
- order{‘C’, ‘F’, ‘A’, ‘K’}, optional
輸出的記憶體佈局。“C”表示行優先佈局(C 風格),“F”表示列優先佈局(Fortran 風格)。如有必要,“C”和“F”將進行複製以確保輸出格式。“A”(任意)若輸入 a 是非連續或 Fortran 連續的,則等同於“F”,否則等同於“C”。與“C”或“F”不同,“A”不保證結果是連續的。“K”(保持)是預設值,會為輸出保留輸入資料的記憶體佈局。
- devicestr,可選
建立的陣列所在的裝置。預設為
None。僅用於 Array-API 互操作性,因此如果傳遞,必須是"cpu"。版本 2.0.0 中新增。
- copybool, optional
如果為
True,則物件會被複製。如果為None,則僅在必要時才複製物件,即當__array__返回一個複製、obj 是巢狀序列,或者需要複製以滿足其他要求(dtype、order等)時。如果設為False且無法避免複製,則會引發ValueError。預設值:None。版本 2.0.0 中新增。
- likearray_like, optional
用於建立非 NumPy 陣列的引薦物件。如果傳入的
like支援__array_function__協議,則結果將由它定義。在這種情況下,它確保建立與透過此引數傳入的陣列相容的陣列物件。版本 1.20.0 中新增。
- 返回:
- outndarray
對
a的陣列解析。如果輸入本身已經是具有匹配資料型別(dtype)和順序(order)的 ndarray,則不執行複製。如果a是 ndarray 的子類,則會返回一個基礎類 ndarray。
另請參閱
asanyarray類似的函式,會直接傳遞子類。
ascontiguousarray將輸入轉換為連續陣列。
asfortranarray將輸入轉換為具有列主序記憶體的 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