📅  最后修改于: 2023-12-03 15:06:40.036000             🧑  作者: Mango
在 Numpy 中,数组的默认顺序是 C 顺序(行优先),但是某些情况下需要以 Fortran 顺序(列优先)来显示数组。本文将介绍如何以 Fortran 顺序显示 Numpy 数组。
可以通过 transpose 函数来实现数组的转置。此方法需要将数组转置并重新设置 stride(步幅)。
代码如下所示:
import numpy as np
# 创建一个 2x3 的数组
arr = np.arange(6).reshape((2, 3))
# 转置数组并重新设置 stride
arr_f = np.transpose(arr, (1, 0)).copy(order='F')
# 以 Fortran 顺序显示数组
print(arr_f)
输出结果如下:
[[0 3]
[1 4]
[2 5]]
可以通过 reshape 函数来重新定义数组的形状,并将数组内元素以 Fortran 顺序排列。
代码如下所示:
import numpy as np
# 创建一个 2x3 的数组
arr = np.arange(6).reshape((2, 3))
# 以 Fortran 顺序重新排列数组内元素
arr_f = arr.reshape((3, 2), order='F')
# 以 Fortran 顺序显示数组
print(arr_f)
输出结果如下:
[[0 3]
[1 4]
[2 5]]
可以通过 array 函数来重新创建一个以 Fortran 顺序排列的数组。
代码如下所示:
import numpy as np
# 创建一个 2x3 的数组
arr = np.arange(6).reshape((2, 3))
# 以 Fortran 顺序创建新数组
arr_f = np.array(arr.T, order='F')
# 以 Fortran 顺序显示数组
print(arr_f)
输出结果如下:
[[0 3]
[1 4]
[2 5]]
以上就是以 Fortran 顺序显示 Numpy 数组的三种方法,希望对你有所帮助。