详解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实现用户答题功能

python实现用户答题功能

python实战,用户答题分享给大家。 主要包含内容,文件的读取,更改,保存。不同文件夹引入模块。输入,输出操作。随机获取数据操作 随机生成算数表达式,用户输入答案,正确记录分数,错误返...

基于python读取.mat文件并取出信息

基于python读取.mat文件并取出信息

这篇文章主要介绍了基于python读取.mat文件并取出信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导入所需包 from...

python学习 流程控制语句详解

###################### 分支语句 python3.5 ################ #代码的缩进格式很重要 建议4个空格来控制 #根据逻辑值(True,Flas...

Python 时间处理datetime实例

关于datetime也是简单介绍。因为有很多东西需要自己去使用,去查帮助才最有效。例子:计算上一个星期五并输出。解答:import datetime, calendar ...

利用ctypes获取numpy数组的指针方法

如下所示: import numpy as np from ctypes import * a = np.asarray(range(16), dtype=np.int32).re...