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