numpy.isfortran#

numpy.isfortran(a)[source]#

檢查陣列是否為 Fortran 連續,但不是 C 連續。

此函數已過時。如果您只想檢查陣列是否為 Fortran 連續,請改用 a.flags.f_contiguous

參數:
andarray

輸入陣列。

返回:
isfortranbool

如果陣列是 Fortran 連續但不是 C 連續,則返回 True。

範例

np.array 允許指定陣列是以 C 連續順序(最後一個索引變化最快)還是 FORTRAN 連續順序(第一個索引變化最快)寫入記憶體。

>>> import numpy as np
>>> a = np.array([[1, 2, 3], [4, 5, 6]], order='C')
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.isfortran(a)
False
>>> b = np.array([[1, 2, 3], [4, 5, 6]], order='F')
>>> b
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.isfortran(b)
True

C 順序陣列的轉置是 FORTRAN 順序陣列。

>>> a = np.array([[1, 2, 3], [4, 5, 6]], order='C')
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.isfortran(a)
False
>>> b = a.T
>>> b
array([[1, 4],
       [2, 5],
       [3, 6]])
>>> np.isfortran(b)
True

即使 C 順序陣列也是 FORTRAN 順序,它們的求值結果仍為 False。

>>> np.isfortran(np.array([1, 2], order='F'))
False