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