Python中的转置函数:transpose
transpose 的原理其实是根据维度(shape)索引决定的,举个栗子:
x = np.arange(4).reshape((2,2)) //生成一个2x2的数组
print(x)
[[0 1]
[2 3]]
我们生成了一个维度为二维的数组,其中有两个索引值(矩阵的行与列)。
transpose()函数的作用就是调换数组的行列值的索引值,类似于求矩阵的转置:
x = np.arange(4).reshape((2,2))
x = np.transpose(x)
print(x)
[[0 2]
[1 3]]
我们可以直观的看到,数组的行列索引值对换,1的位置从x(0,1)跑到了x(1,0)。
那么三维数组呢?
我们继续生成一个三维的数组:
x = np.arange(12).reshape((2,2,3)) //生成一个2x2x3的数组
print(x)
[[[ 0 1 2]
[ 3 4 5]]
[[ 6 7 8]
[ 9 10 11]]]
我们从高中数学知道三维由x轴、y轴以及z轴组成。
假设三维数组当中的索引值为x,y,z
transpose()函数的作用就是调换x,y,z的位置,也就是数组的索引值。
所以我们正常的数组索引值为(0,1,2),等于(x,y,z)
我们来看实例代码:
x = np.arange(12).reshape((2,2,3))
print(x)
[[[ 0 1 2]
[ 3 4 5]]
[[ 6 7 8]
[ 9 10 11]]]
x = np.transpose(x,(1,0,2)) //transpose()函数的第二个参数就是改变索引值的地方
print(x)
[[[ 0 1 2]
[ 6 7 8]]
[[ 3 4 5]
[ 9 10 11]]]
通过transpose()函数改变了x的索引值为(1,0,2),对应(y,x,z)
索引改变后原本y的值和x的值对换了。
有上面代码的数字7为例,原本的7的位置索引为(1,0,1),通过transpose(x,(1,0,2))索引改变为(0,1,1)
无论四维、五维……都可以用这个原理分析。
————————————————
版权声明:本文为****博主「DeepGym」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/qq_37377691/article/details/80086480
下一篇: plt.xticks用法
推荐阅读
-
Python 小函数实现(下载图形并将其存储在 EXCEL 中的链接)
-
python 请求包的请求函数中 params 和 data 的区别。
-
python 中四舍五入函数的精度保持方法 --- 将五舍五入为二
-
Python 中的 "枚举 "函数有什么作用?
-
深入了解 Python 中 len 函数的实现:深入理解其基本机制
-
在 Python 中调用函数的简明方法
-
概率论 "转 "中的常见分布汇总 - 概率质量函数(概率质量函数)
-
python 获取 .c 文件中的所有函数名
-
介绍 python 中 lambda 函数的用法(附示例) - 示例:
-
[Python] 关于 open 函数中 r 和 rb 的区别的详细解答。