python numpy交换数组的维度
在 NumPy 中,可以使用 numpy.transpose 函数来交换数组的维度。numpy.transpose 函数接受一个数组作为输入,并返回一个具有相同元素的新数组,但是维度顺序被交换了。
以下是一个简单的示例,演示如何使用 NumPy 交换数组的维度:
import numpy as np # 定义一个 2x3x4 的三维数组 arr = np.arange(24).reshape((2, 3, 4)) # 输出原始数组 print("原始数组:") print(arr) print("原始数组形状:", arr.shape) # 使用 transpose 函数交换数组的维度 new_arr = np.transpose(arr, (1, 0, 2)) # 输出新数组 print("交换维度后的数组:") print(new_arr) print("新数组形状:", new_arr.shape)
在这个示例中,我们首先定义了一个 2x3x4 的三维数组 arr,然后使用 numpy.transpose 函数交换了维度 0 和维度 1,得到一个新的数组 new_arr。我们使用 (1, 0, 2) 作为第二个参数传递给 numpy.transpose 函数,表示将原始数组的第 0 个维度和第 1 个维度交换。
输出结果应该是:
原始数组: [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] 原始数组形状: (2, 3, 4) 交换维度后的数组: [[[ 0 1 2 3] [12 13 14 15]] [[ 4 5 6 7] [16 17 18 19]] [[ 8 9 10 11] [20 21 22 23]]] 新数组形状: (3, 2, 4)
可以看到,使用 numpy.transpose 函数可以方便地交换数组的维度。注意,我们需要指定交换维度的顺序。在本例中,我们指定交换维度的顺序为 (1, 0, 2),表示将原始数组的第 0 个维度和第 1 个维度交换。
相关文章