详解Numpy数组转置的三种方法T、transpose、swapaxes

yipeiwu_com6年前Python基础

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

1.首先数组转置(T)

创建二维数组data如下:


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

2.轴对换之transpose

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


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


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

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


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


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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中使用while循环的实例

python中使用while循环的实例

python中for循环用于针对集合中的每个元素的一个代码块,而while循环能实现满足条件下的不断运行。 使用while循环时,由于while只要满足条件就会执行代码,故必须指定结束条...

Python使用ffmpy将amr格式的音频转化为mp3格式的例子

最近做了一个项目,将从微信下载的音频文件(默认为.amr格式)转化为mp3格式(否则前端播放将会遇到困难)上传到云端。经过一番研究,最终决定采用Python的ffmpy包。 首先是ffm...

简单了解django索引的相关知识

简单了解django索引的相关知识

前言 由于数据库每天都用来存储越来越多的信息,因此这些也是每个Django项目中的关键组件。 因此了解它们的工作方式非常重要。 当然,我无法解释所有可用于Django的不同数据库的全部细...

python时间整形转标准格式的示例分享

复制代码 代码如下:import osimport sysimport pickleimport stringimport reimport timefrom datetime ...

使用pandas实现连续数据的离散化处理方式(分箱操作)

Python实现连续数据的离散化处理主要基于两个函数,pandas.cut和pandas.qcut,前者根据指定分界点对连续数据进行分箱处理,后者则可以根据指定箱子的数量对连续数据进行等...