原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.isfortran.html
校对:(虚位以待)
numpy.
isfortran
(a)[source]如果数组是Fortran连续但不是 C连续,则返回True。
此函数已过时,由于放宽步检查的更改,同一数组的返回值可能因Numpy> = 1.10和以前版本的版本而异。如果你只想检查一个数组是否为Fortran连续使用a.flags.f_contiguous
。
参数: | a:ndarray
|
---|
例子
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='FORTRAN')
>>> 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
即使它们也是FORTRAN有序的,C有序数组估计为假。
>>> np.isfortran(np.array([1, 2], order='FORTRAN'))
False