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 陣列。