📜  以 Fortran 顺序显示 Numpy 数组(1)

📅  最后修改于: 2023-12-03 15:06:40.036000             🧑  作者: Mango

以 Fortran 顺序显示 Numpy 数组

在 Numpy 中,数组的默认顺序是 C 顺序(行优先),但是某些情况下需要以 Fortran 顺序(列优先)来显示数组。本文将介绍如何以 Fortran 顺序显示 Numpy 数组。

方法一:使用 transpose 函数

可以通过 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 函数

可以通过 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 函数

可以通过 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 数组的三种方法,希望对你有所帮助。