numpy.asfortranarray#
- numpy.asfortranarray(a, dtype=None, *, like=None)#
返回以 Fortran 顺序在内存中布局的数组(ndim >= 1)。
- 参数:
- aarray_like
输入数组。
- dtypestr 或 dtype 对象,可选
默认情况下,数据类型从输入数据推断。
- likearray_like,可选
引用对象,允许创建不是 NumPy 数组的数组。如果以
like
形式传递的数组类型支持__array_function__
协议,则结果将由它定义。在这种情况下,它确保创建与通过此参数传递的数组对象兼容的数组对象。新版本 1.20.0。
- 返回值:
- outndarray
输入 a 以 Fortran 或列主序。
另请参阅
ascontiguousarray
将输入转换为连续(C 序)数组。
asanyarray
将输入转换为具有行或列主序内存顺序的 ndarray。
require
返回满足要求的 ndarray。
ndarray.flags
有关数组内存布局的信息。
示例
从 C 连续数组开始
>>> import numpy as np >>> 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 数组。