numpy.isfortran #

麻木的。isfortran ( a ) [来源] #

检查数组是否 Fortran 连续但C不连续。

此函数已过时,并且由于宽松的跨度检查而发生变化,对于 NumPy >= 1.10.0 的版本和以前的版本,其同一数组的返回值可能有所不同。如果您只想检查数组是否为 Fortran 连续数组,请改用a.flags.f_contiguous

参数
一个数组

输入数组。

返回
isfortran布尔值

如果数组是 Fortran 连续的但不是C 连续的,则返回 True。

例子

np.array 允许指定数组是按 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 = 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