numpy T、transpose()函数、swapaxes()函数

目录

1  矩阵转置T,既线性代数中矩阵转置

2  transpose()函数

3  swapaxes()函数


 

1  矩阵转置T,既线性代数中矩阵转置

示例程序如下:

import numpy as np

a = np.arange(0,24,2).reshape(3, 4)

print('*****a****')
print('a: \n', a)
print('a.shape: ', a.shape)

print('\n*****a.T****')
print('a.T:\n', a.T)
print('a.T: ', a.T.shape)

 

运行结果

*****a****
a: 
 [[ 0  2  4  6]
 [ 8 10 12 14]
 [16 18 20 22]]
a.shape:  (3, 4)

*****a.T****
a.T:
 [[ 0  8 16]
 [ 2 10 18]
 [ 4 12 20]
 [ 6 14 22]]
a.T:  (4, 3)

 

 

2  transpose()函数

以维度为(2,3,4)的数组a为例进行说明:

      a有3个,第0维大小为2,第1维大小为3,第2维大小为4

      a.transpose(2,1,0)既将数组a第0维大小2与第2维大小4进行替换,返回第0维大小为4,第1维大小为3,第2维大小为2

示例程序如下:

import numpy as np

a = np.arange(24).reshape(2, 3, 4)

print('*****a****')
print('a: \n', a)
print('a.shape: ', a.shape)


print('\n*****a.transpose(2,1,0)****')
print('a.transpose(2,1,0):\n', a.transpose(2,1,0))
print('a.transpose(2,1,0).shape: ', a.transpose(2,1,0).shape)

 

运行结果:

*****a****
a: 
 [[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
a.shape:  (2, 3, 4)

*****a.transpose(2,1,0)****
a.transpose(2,1,0):
 [[[ 0 12]
  [ 4 16]
  [ 8 20]]

 [[ 1 13]
  [ 5 17]
  [ 9 21]]

 [[ 2 14]
  [ 6 18]
  [10 22]]

 [[ 3 15]
  [ 7 19]
  [11 23]]]
a.transpose(2,1,0).shape:  (4, 3, 2)

3  swapaxes()函数

swapaxes()函数接受的参数是一对轴编号

    以维度为(2,3,4)的数组a为例进行说明:

         a有3个,第0维大小为2,第1维大小为3,第2维大小为4

         a. swapaxes (2,0)既将数组a第0维大小2与第2维大小4进行替换,返回第0维大小为4,第2维大小为2;第1维大小不变。

import numpy as np

a = np.arange(24).reshape(2, 3, 4)

print('*****a****')
print('a: \n', a)
print('a.shape: ', a.shape)


print('\n*****a.swapaxes (2,1,0)****')
print('a.swapaxes(2,0):\n', a.swapaxes(2,0))
print('a.swapaxes(2,0).shape: ', a.swapaxes(2,0).shape)

 

运行结果:

*****a****
a: 
 [[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
a.shape:  (2, 3, 4)

*****a.swapaxes (2,1,0)****
a.swapaxes(2,0):
 [[[ 0 12]
  [ 4 16]
  [ 8 20]]

 [[ 1 13]
  [ 5 17]
  [ 9 21]]

 [[ 2 14]
  [ 6 18]
  [10 22]]

 [[ 3 15]
  [ 7 19]
  [11 23]]]
a.swapaxes(2,0).shape:  (4, 3, 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值