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