numpy.transpose函数
numpy.transpose函数的主要作用:反转或置换数组的轴;返回修改后的数组。对于有两个轴的数组,对其进行转置并给出转置后的矩阵。
用法
import numpy as np
np.transpose(a, axes=None)
参数
a:数组,输入数据;axes:tuple或list of ints, 可选参数。
实例
实例1
1.生成数组
x = np.array([[0,1,2],[3,4,5]])
x.shape
输出:
(2, 3)
2.使用transpose函数,并查看输出
a = np.transpose(x)
a
输出:
array([[0, 3],
[1, 4],
[2, 5]])
3.查看shape
a.shape
输出:
(3, 2)
从实例1中,可以看出,
transpose函数对2维数组x进行了转置,即,将数组x的两个维度0轴的元素数量和1轴的元素数量进行了互换,(2,3)→(3,2)(2, 3) \rightarrow (3, 2)(2,3)→(3,2),用轴可表示为:(0,1)→(1,0)(0, 1) \rightarrow (1, 0)(0,1)→(1,0)。
实例2
1.生成数组
x = np.array([[[0,1,2,3],[4,5,6,7],[8,9,10,11]],
[[12,13,14,15],[16,17,18,19],[20,21,22,23]]])
x.shape
输出:
(2, 3, 4)
2.使用transpose函数,并查看输出
a = np.transpose(x)
a
输出:
array([[[ 0, 12],
[ 4, 16],
[ 8, 20]],
[[ 1, 13],
[ 5, 17],
[ 9, 21]],
[[ 2, 14],
[ 6, 18],
[10, 22]],
[[ 3, 15],
[ 7, 19],
[11, 23]]])
3.查看shape
a.shape
输出:
(4, 3, 2)
从实例2中,可以看出,
transpose函数对3维数组x进行运算之后,将原来的0轴的元素数量,1轴的元素数量,2轴的元素数量调换了位置,变成了2轴的元素数量,1轴的元素数量,0轴的元素数量,(2,3,4)→(4,3,2)(2, 3, 4) \rightarrow (4, 3, 2)(2,3,4)→(4,3,2),用轴可表示为:(0,1,2)→(2,1,0)(0, 1, 2) \rightarrow (2, 1, 0)(0,1,2)→(2,1,0)。
实例3
1.生成数组
x = np.array([[[0,1,2,3],[4,5,6,7],[8,9,10,11]],
[[12,13,14,15],[16,17,18,19],[20,21,22,23]]])
x.shape
输出:
(2, 3, 4)
2.使用transpose函数,并查看输出
a = np.transpose(x,(1,0,2))
a
输出:
array([[[ 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.查看shape
a.shape
输出:
(3, 2, 4)
在实例3中,指定
transpose函数中的第二个参数,只将3维数组x的0轴和1轴进行互换,运算之后,将原来的0轴的元素数量,1轴的元素数量,2轴的元素数量调换了位置,变成了1轴的元素数量,0轴的元素数量,2轴的元素数量,(2,3,4)→(3,2,4)(2, 3, 4) \rightarrow (3, 2, 4)(2,3,4)→(3,2,4),用轴可表示为:(0,1,2)→(1,0,2)(0, 1, 2) \rightarrow (1, 0, 2)(0,1,2)→(1,0,2)。
本文详细介绍了Python中numpy库的transpose函数,用于数组的轴转换。通过三个实例,分别展示了对2维和3维数组的转置操作,包括默认转置和指定轴转置,帮助读者深入理解该函数的用法和效果。
2913

被折叠的 条评论
为什么被折叠?



