python转置_python数据分析类库系列Numpy之 数组转置和轴对换
生活随笔
收集整理的这篇文章主要介绍了
python转置_python数据分析类库系列Numpy之 数组转置和轴对换
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
转置是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。数组不仅有transpose方法,还有一个特殊的T属性
arr = np.arange(15).reshape((3, 5))arroutarray([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) **************************************arr.Toutarray([[ 0, 5, 10], [ 1, 6, 11], [ 2, 7, 12], [ 3, 8, 13], [ 4, 9, 14]])在进行矩阵计算时,经常需要用到该操作,比如利用np.dot计算矩阵内积
arr = np.random.randn(6, 3)arroutarray([[-0.83713867, -0.5063302 , -0.07221051], [ 0.22662227, 0.8067468 , 1.50758086], [-1.60003307, -0.59545706, -0.31617285], [ 1.22912611, 0.44723398, -0.24279909], [ 0.88802389, 1.21995708, 1.24024291], [-0.72277996, -0.50274737, 0.93989847]]) ************************************** np.dot(arr.T, arr)outarray([[6.13401291, 3.55588009, 1.03158348], [3.55588009, 3.20284822, 2.37298939], [1.03158348, 2.37298939, 4.85854269]])对于高维数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置(比较费脑子)
arr = np.arange(16).reshape((2, 2, 4))arroutarray([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]]) *********************************************arr.transpose((1,0,2))outarray([[[ 0, 1, 2, 3], [ 8, 9, 10, 11]], [[ 4, 5, 6, 7], [12, 13, 14, 15]]])这里,第一个轴被换成了第二个,第二个轴被换成了第一个,最后一个轴不变。
简单的转置可以使用.T,它其实就是进行轴对换而已。ndarray还有一个swapaxes方法,它需要接受一对轴编号
arroutarray([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]]) ****************************************arr.swapaxes(1, 2)outarray([[[ 0, 4], [ 1, 5], [ 2, 6], [ 3, 7]], [[ 8, 12], [ 9, 13], [10, 14], [11, 15]]])swapaxes也是返回源数据的视图(不会进行任何复制操作)。
下期我们将分享Numpy的通用函数,如果喜欢请点赞收藏,您的支持是我最大的动力,谢谢大家,共同进步。
总结
以上是生活随笔为你收集整理的python转置_python数据分析类库系列Numpy之 数组转置和轴对换的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: xr电池多少毫安(三分钟教你认清XR/V
- 下一篇: python爬虫cookie池 与ip绑