NumPy数组转置和轴对换

《NumPy数组转置和轴对换》

简介

在某些时候,比如调整图片的矩阵(长、宽、高)的顺序时就需要用到数组的转置和轴对换。转置是数组重塑的一种,它返回的是源数据的视图,也就是说不会对数组进行复制,改变的是原数组。

方法

数组不仅有transpose()方法还有一个T属性, 可以很方便的完成转置。

代码演示:

通常在做矩阵內积的时候就需要用到这个转置:

除此之外,还可以通过transpose()方法指定轴对换的顺序:

通过transpose()方法,传入一个元组,顺序是(1, 0, 2)改变了第0轴和第1轴,而第2轴的数据不变。转置以后的数组直接是对原数组的修改。

最后再介绍swapaxes()方法,它接受一对轴编号:

可以看出swapaxes()方法不直接改变原来的数组a,但是它也是源数据的视图,也就是说不会对数组进行复制。

可以看到对数组b的修改,直接影响了原来的数组a

总结

本文介绍了三种进行数组转置的方法。转置是对源数据视图的操作,除此之外要注意transpose()方法和swapaxes()方法的区别。

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注

5 × 3 =