Python-numpy包中多维数组转置,transpose.swapaxes的轴编号(axis)的理解
transpose()中三个轴编号的位置变化理解
transpose(a,b,c)其中a轴编号即为参考编号,垂直于a的平面即为所有平面,该平面上的数据再根据b,c相对于(0,1,2)的位置关系进行改变,下面以实例举例说明
A.transpose(0,1,2)对应的就是arr数组原形
In [8]: arr.transpose(0,1,2)
Out[8]:
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]]])
B.transpose(0,2,1),即以0为参考编号,数组0-1和0-2即为所求平面数组,但是2,1相对于(0,1,2)后面的轴编号进行了交换,所以数组0-1/0-2要以对角线进行.T转置(与二维数组的转置一样),所以结果如下。其余同理。
In [9]: arr.transpose(0,2,1)
Out[9]:
array([[[ 0, 4, 8],
[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11]],
[[12, 16, 20],
[13, 17, 21],
[14, 18, 22],
[15, 19, 23]]])
C.以transpose(2,1,0)来验证以上操作。2为视角,数组2-1/2-2/2-3/2-4即为所求平面,再以1为视角,数组1-1/1-2即为所求平面,2-1与1-1两个平面的交线是[0,12]
In [10]: arr.transpose(2,1,0)
Out[10]:
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]]])
参考:https://www.cnblogs.com/sunshinewang/p/6893503.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2018-11-07 矩阵与向量的乘积