numpy.asfortranarray #
- 麻木的。asfortranarray ( a , dtype = None , * , like = None ) #
返回一个在内存中以 Fortran 顺序排列的数组 (ndim >= 1)。
- 参数:
- 类似数组
输入数组。
- dtype str 或 dtype object,可选
默认情况下,数据类型是根据输入数据推断的。
- 类似array_like,可选
允许创建非 NumPy 数组的引用对象。如果传入的类似数组
like
支持__array_function__
协议,则结果将由它定义。在这种情况下,它确保创建一个与通过此参数传入的数组对象兼容的数组对象。1.20.0 版本中的新增功能。
- 返回:
- 输出数组
输入a采用 Fortran 顺序或列优先顺序。
也可以看看
ascontiguousarray
将输入转换为连续(C 顺序)数组。
asanyarray
将输入转换为具有行或列优先内存顺序的 ndarray。
require
返回满足要求的ndarray。
ndarray.flags
有关阵列内存布局的信息。
例子
从 C 连续数组开始:
>>> 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 数组。