numpy.ascontiguousarray#
- numpy.ascontiguousarray(a, dtype=None, *, like=None)#
傳回記憶體中連續的陣列 (ndim >= 1) (C 順序)。
- 參數:
- a類陣列
輸入陣列。
- dtype字串或 dtype 物件,選用
傳回陣列的資料型別。
- like類陣列,選用
參考物件,用於建立非 NumPy 陣列的陣列。如果作為
like
傳入的類陣列支援__array_function__
協定,則結果將由其定義。在這種情況下,它可以確保建立與透過此引數傳入的物件相容的陣列物件。在 1.20.0 版本中新增。
- 傳回值:
- outndarray
與 a 具有相同形狀和內容的連續陣列,如果指定,則具有
dtype
型別。
另請參閱
asfortranarray
將輸入轉換為具有 column-major 記憶體順序的 ndarray。
require
傳回滿足需求的 ndarray。
ndarray.flags
關於陣列記憶體佈局的資訊。
範例
從 Fortran-contiguous 陣列開始
>>> import numpy as np >>> x = np.ones((2, 3), order='F') >>> x.flags['F_CONTIGUOUS'] True
呼叫
ascontiguousarray
會建立 C-contiguous 副本>>> y = np.ascontiguousarray(x) >>> y.flags['C_CONTIGUOUS'] True >>> np.may_share_memory(x, y) False
現在,從 C-contiguous 陣列開始
>>> x = np.ones((2, 3), order='C') >>> x.flags['C_CONTIGUOUS'] True
然後,呼叫
ascontiguousarray
會傳回相同的物件>>> y = np.ascontiguousarray(x) >>> x is y True
注意:此函數傳回至少一維 (1-d) 的陣列,因此不會保留 0-d 陣列。