numpy.require#
- numpy.require(a, dtype=None, requirements=None, *, like=None)[source]#
傳回符合需求的指定類型 ndarray。
此函式可用於確保傳回具有正確旗標的陣列,以便傳遞給編譯後的程式碼(可能透過 ctypes)。
- 參數:
- a類陣列
要轉換為符合類型和需求的陣列的物件。
- dtype資料類型
所需的資料類型。如果為 None,則保留目前的 dtype。如果您的應用程式要求資料採用原生位元組順序,請在 dtype 規格中包含位元組順序規範。
- requirements字串或字串序列
需求列表可以是以下任何一項
‘F_CONTIGUOUS’ (‘F’) - 確保 Fortran 相鄰陣列
‘C_CONTIGUOUS’ (‘C’) - 確保 C 相鄰陣列
‘ALIGNED’ (‘A’) - 確保資料類型對齊的陣列
‘WRITEABLE’ (‘W’) - 確保可寫入的陣列
‘OWNDATA’ (‘O’) - 確保擁有自身資料的陣列
‘ENSUREARRAY’, (‘E’) - 確保基礎陣列,而不是子類別
- like類陣列,選填
參考物件,允許建立非 NumPy 陣列的陣列。如果作為
like
傳入的類陣列支援__array_function__
協議,則結果將由它定義。在這種情況下,它可以確保建立與透過此引數傳入的物件相容的陣列物件。在 1.20.0 版本中新增。
- 傳回值:
- outndarray
具有指定需求和類型的陣列(如果已指定)。
另請參閱
asarray
將輸入轉換為 ndarray。
asanyarray
轉換為 ndarray,但傳遞 ndarray 子類別。
ascontiguousarray
將輸入轉換為 contiguous 陣列。
asfortranarray
將輸入轉換為具有 column-major 記憶體順序的 ndarray。
ndarray.flags
關於陣列記憶體佈局的資訊。
註解
傳回的陣列將保證具有列出的需求,必要時會進行複製。
範例
>>> import numpy as np >>> x = np.arange(6).reshape(2,3) >>> x.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : False WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False
>>> y = np.require(x, dtype=np.float32, requirements=['A', 'O', 'W', 'F']) >>> y.flags C_CONTIGUOUS : False F_CONTIGUOUS : True OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False