Python Numpy transpose() 函数

Suraj Joshi 2023年1月30日
  1. numpy.transpose() 语法
  2. 示例代码: numpy.transpose() 方法
  3. 示例代码在 numpy.transpose() 方法中设置 axes 参数
Python Numpy transpose() 函数

Python Numpy numpy.transpose() 可以反转输入数组的轴,或者简单地对输入数组进行转置。

numpy.transpose() 语法

numpy.transpose(ar, axes=None)

参数

ar 可转换为数组的数组或对象
axis 元组或整数列表。它指定了换位后轴的顺序。

返回值

如果输入数组是 2-D 的,它将返回它的转置,但是如果是 1-D 的,输入数组将保持不变。

示例代码: numpy.transpose() 方法

import numpy as np

x=np.array([[2,3,3],
            [3,2,1]])

print("Matrix x:")
print(x)

x_transpose=np.transpose(x)
print("\nTranspose of Matrix x:")
print(x_transpose)

输出:

Matrix x:
[[2 3 3]
 [3 2 1]]

Transpose of Matrix x:
[[2 3]
 [3 2]
 [3 1]]

它返回输入数组 x 的转置版本。矩阵 x 的行成为矩阵 x_transpose 的列,矩阵 x 的列成为矩阵 x_transpose 的行。

然而,如果我们在 numpy.transpose() 方法中传递一个 1 维数组,返回的数组没有变化。

import numpy as np

x=np.array([2,3,3])

print("Matrix x:")
print(x)

x_transpose=np.transpose(x)
print("\nTranspose of Matrix x:")
print(x_transpose)

输出:

Matrix x:
[2 3 3]

Transpose of Matrix x:
[2 3 3]

它显示一维数组在通过 np.transpose() 方法后没有变化。

示例代码在 numpy.transpose() 方法中设置 axes 参数

import numpy as np

x = np.random.random((1, 2, 3, 5))

print("Shape of x:")
print(x.shape)

x_permuted=np.transpose(x, (3, 0, 2,1))

print("\nShape of x_permuted:")
print(x_permuted.shape)

输出:

Shape of x:
(1, 2, 3, 5)

Shape of x_permuted:
(5, 1, 3, 2)

这里,axes 作为第二个参数传递给 numpy.transpose() 方法。

返回数组的第 i 轴将是输入数组的第 axes[i] 轴。

因此,上例中 x 的第 0 轴变成 x_permuted 的第 1 轴。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn