前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

作者头像
全栈程序员站长
发布2022-09-05 11:16:05
7.5K0
发布2022-09-05 11:16:05
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

天下难事,必作于易;天下大事,必作于细——老子

Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环。码字不易,喜欢请点赞!!!

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」
[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

1.首先数组转置(T) 创建二维数组data如下:

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」
[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

进行矩阵运算时,经常要用数组转置,比如计算矩阵内积X^T X.这时就需要利用数组转置,如下:

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」
[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

2.轴对换之transpose 对于高维数组,可以使用轴对换来对多个维度进行变换。

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」
[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

这里创建了一个三维数组,各维度大小分别为2,3,4。

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」
[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

transpose进行的操作其实是将各个维度重置,原来(2,3,4)对应的是(0,1,2)。使用transpose(1,0,2)后,各个维度大小变为(3,2,4),其实就是将第一维和第二维互换。

对于这个三维数组,转置T其实就等价于transpose(2,1,0),如下:

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」
[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

3.两轴对换swapaxes:swapaxes方法接受的参数是一对轴编号,使用transpose方法是对整个轴进行对换,而swapaxes是将参数的两个轴进行对换。刚刚上面的transpose(1,0,2),实际上就是将0和1轴进行对换,因此使用swapaxes也可以实现,如下:

[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」
[Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

上面就是Numpy包里面进行数组转置和轴对换最常用的方法。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137047.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档