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
- 下一篇: 红米k20pro厚度