转置(transpose)是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。数组不仅有transpose方法,还有一个特殊的T属性。

In[70]:arr=np.arange(15).reshape((3,5))

In[71]:arr

Out[71]:

array([[ 0, 1, 2, 3, 4],

[ 5, 6, 7, 8, 9],

[10, 11, 12, 13, 14]])

In[72]:arr.T

Out[72]:

array([[ 0, 5, 10],

[ 1, 6, 11],

[ 2, 7, 12],

[ 3, 8, 13],

[ 4, 9, 14]])

在进行矩阵计算时,经常需要用到该操作,比如利用np.dot计算矩阵内积XTX:

In[73]:arr=np.random.randn(6,3)

In[74]:np.dot(arr.T,arr)

Out[74]:

array([[ 14.91087193, -7.57347777, -0.56395378],

[ -7.57347777, 6.79559058, 3.99068128],

[ -0.56395378, 3.99068128, 9.8351215 ]])

对于高维数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置(比较费脑子):

In[75]:arr=np.arange(16).reshape((2,2,4))

In[76]:arr

Out[76]:

array([[[ 0, 1, 2, 3],

[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],

[12, 13, 14, 15]]])

In[77]:arr.transpose((1,0,2))

Out[77]:

array([[[ 0, 1, 2, 3],

[ 8, 9, 10, 11]],

[[ 4, 5, 6, 7],

[12, 13, 14, 15]]])

简单的转置可以使用.T,它其实就是进行轴对换而已。Ndarray还有一个swapaxes方法,它需要接受一对轴编号。

In[78]:arr

Out[78]:

array([[[ 0, 1, 2, 3],

[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],

[12, 13, 14, 15]]])

In[79]:arr.swapaxes(1,2)

Out[80]:

array([[[ 0, 4],

[ 1, 5],

[ 2, 6],

[ 3, 7]],

[[ 8, 12],

[ 9, 13],

[10, 14],

[11, 15]]])

swapaxes也是返回源数据的视图(不会进行任何复制操作)。

亲,如果笔记对您有帮助,收藏的同时,记得给点个赞、加个关注哦!感谢!」
「诚邀关注“issnail”,会有惊喜哦!」
「文中代码均亲测过,若有错误之处,欢迎批评指正,一起学习,一起成长!」
参考书目:利用python进行数据分析

numpy 转置_Numpy基础:数组转置和轴对换相关推荐

  1. python numpy遍历_NumPy 迭代数组

    NumPy 迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用 arange() ...

  2. python numpy array转置_详解Numpy数组转置的三种方法T、transpose、swapaxes

    Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环. 1.首先数组转置(T) 创建二维数组data如下: 进行矩阵运算时 ...

  3. 《利用Python》进行数据分析:Numpy基础9 数组转置和轴对换

    #coding=utf-8__author__ = 'andy'import numpy as np arr=np.arange(15).reshape((3,5)) print(arr)#数组转置, ...

  4. Numpy基础(二)——数组转置、计算内积和换轴

    1 数组转置   转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容.利用数组的transpose方法或者数组的T属性实现. In [88]: arr=np.arange(15) ...

  5. python数组转置和换轴_Numpy基础:数组转置和轴对换

    转置(transpose)是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作).数组不仅有transpose方法,还有一个特殊的T属性. In[70]:arr=np.arange(15 ...

  6. numpy维度交换_numpy之转置(transpose)和轴对换

    转置(transpose)和轴对换 转置可以对数组进行重置,返回的是源数据的视图(不会进行任何复制操作). 转置有三种方式,transpose方法.T属性以及swapaxes方法. 1 .T,适用于一 ...

  7. python转置_python数据分析类库系列Numpy之 数组转置和轴对换

    转置是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作).数组不仅有transpose方法,还有一个特殊的T属性 arr = np.arange(15).reshape((3, 5)) ...

  8. numpy中矩阵的转置_NumPy矩阵transpose()-Python中数组的转置

    numpy中矩阵的转置 The transpose of a matrix is obtained by moving the rows data to the column and columns ...

  9. numpy中的转置Transpose和.T以及轴对换swapaxis

    简 介: 本文对于 numpy中的转置Transpose和.T以及轴对换swapaxis 中关于numpy矩阵的轴交换函数进行了测试.并对于深度学习中的图像数据进行处理. 参考文章:https://b ...

最新文章

  1. iOS - 内购_类型
  2. Java 设计模式(一)之单例模式 理论代码相结合
  3. Flutter进阶—质感设计之弹出菜单
  4. springmvc重定向到另一个项目_SpringMVC结合Ajax、请求转发重定向、视图解析器
  5. this绑定丢失的问题
  6. windows sqlmap 安装教程
  7. 网络攻防技术——端口扫描
  8. 计算机仿真实验之一 霍尔效应测磁场,2004_01大学物理实验教程_11539522.pdf
  9. 重载运算符高精度算法
  10. 虾皮开店难吗,如何判断适不适合入驻虾皮(一)
  11. mysql中ddl是什么_mysql ddl什么意思
  12. 拥有一个qq机器人ATRI
  13. DM36x IPNC远程升级
  14. 对Android view/viewgroup事件分发的理解
  15. 如何将你的Linux服务器清空?
  16. dropbox网页版登录_出色的UX:Dropbox在下载页面上关注细节
  17. Vue获取图片的三合一直方图
  18. 区块链笔记(一)区块链的诞生
  19. H323Client-2 H323视频会议开源生态
  20. [转载]C#中IndexOf的使用

热门文章

  1. jquery复选框组清空选中的值_jQuery获取复选框被选中数量及判断选择值的方法详解...
  2. 哈希表的构造和查找算法
  3. 用python控制钉钉软件_Python—实现钉钉后台开发
  4. 吴恩达入驻知乎,涨粉秒过万!知乎首答:如何系统学习机器学习
  5. “李宏毅老师对不起,我要去追这门美女老师的课了” ,台大陈蕴侬深度学习课程最新资料下载...
  6. Quartz应用与集群原理分析
  7. 论文浅尝 | Convolutional 2D knowledge graph embedding
  8. 干货 | 深度学习的可解释性研究(一):让模型「说人话」
  9. Android官方开发文档Training系列课程中文版:创建自定义View之View的创建
  10. 基于深度强化学习的区域化视觉导航方法​​