NumPy教程-numpy.transpose()在Python中的使用
numpy.transpose() 函数是矩阵乘法中最重要的函数之一。该函数对给定数组的维度进行置换或保留,并返回修改后的数组。
numpy.transpose() 函数将行元素变为列元素,将列元素变为行元素。该函数的输出是原始数组的修改版本。
语法:
numpy.transpose(arr, axis=None)
参数:
arr: array_like
这是一个 ndarray。它是我们要转置其元素的源数组。这个参数是必要的,在 numpy.transpose() 函数中发挥着重要作用。
axis: List of ints()
如果我们没有指定轴,则默认情况下会反转维度,否则会根据给定的值重新排列轴。
返回值:
这个函数返回一个 ndarray。输出数组是源数组,其轴被置换。在可能的情况下,会返回一个视图。
示例 1: numpy.transpose()
import numpy as np
a= np.arange(6).reshape((2,3))
a
b=np.transpose(a)
b
输出:
array([[0, 1, 2],
[3, 4, 5]])
array([[0, 3],
[1, 4],
[2, 5]])
在上面的代码中
- 我们导入了别名为 np 的 numpy 库。
- 我们使用 np.arange() 函数创建了一个名为 'a' 的数组,并使用 reshape() 函数给出了一个形状。
- 我们声明了变量 'b',并将 np.transpose() 函数的返回值赋给了它。
- 我们在函数中传递了数组 'a'。
- 最后,我们尝试打印 'b' 的值。
在输出中,显示了原始数组的转置数组。
示例 2: 带有轴的 numpy.transpose()
import numpy as np
a= np.array([[1, 2], [4, 5], [7, 8]])
a
b=np.transpose(a, (1,0))
b
输出:
array([[1, 2],
[4, 5],
[7, 8]])
array([[1, 4, 7],
[2, 5, 8]])
在上面的代码中
- 我们导入了别名为 np 的 numpy 库。
- 我们使用 np.array() 函数创建了一个名为 'a' 的数组。
- 我们声明了变量 'b',并将 np.transpose() 函数的返回值赋给了它。
- 我们在函数中传递了数组 'a' 和轴。
- 最后,我们尝试打印 'b' 的值。
在输出中,显示了原始数组的转置数组。
示例 3: 使用 numpy.transpose() 重新定位元素
import numpy as np
a=np.ones((12,32,123,64))
b=np.transpose(a,(1,3,0,2)).shape
b
c=np.transpose(a,(0,3,1,2)).shape
c
输出:
(32L, 64L, 12L, 123L)
(12L, 64L, 32L, 123L)
- 我们导入了别名为 np 的 numpy 库。
- 我们使用 np.ones() 函数创建了一个名为 'a' 的数组。
- 我们声明了变量 'b' 和 'c',并将 np.transpose() 函数的返回值赋给了它们。
- 我们在函数中传递了数组 'a' 和数组元素的位置。
- 最后,我们尝试打印 'b' 和 'c' 的值。
在输出中,显示了一个数组,其元素位于数组中定义的位置。