numpy中transpose用法

np.transpose(a,axes=None)

a为输入的数组,axis为int类型的列表,这个参数可选,默认是反转输入数组的维度,指定该值时需要按照参数所指定的值进行数组变换
1.它对于一维数组不起作用
2.对于二维数组的操作:就是对原数组的转置操作
3.对于三维数组:
在这里插入图片描述
(1)从以上实验可以看出:a.transpose()生成了一个新的数组,新数组和原数组并不共享内存,用c = np.transpose(a)也是一样
(2)原数组的axis=(0,1,2),np.transpose()中,axis的默认参数为(2,1,0)。分析一下axis从(0,1,2)到(2,1,0)的转换过程

#a数组的下标为:
A = [
        [[(0,0,0),(0, 0, 1),(0, 0, 2),(0, 0, 3)],
         [(0, 1, 0),(0, 1, 1),(0, 1, 2),(0, 1, 3)],
         [(0, 2, 0),(0, 2, 1),(0, 2, 2),(0, 2, 3)]],
       
		[[(1, 0, 0),(1, 0, 1),(1, 0, 2),(1, 0, 3)],
         [(1, 1, 0),(1, 1, 1),(1, 1, 2),(1, 1, 3)],
         [(1, 2, 0),(1, 2, 1),(1, 2, 2),(1, 2, 3)]]
	]
#然后将三元组中的第一个数和第三个数交换,得到以下数组
B = [
        [[(0,0,0),(1, 0, 0),(2, 0, 0),(3, 0, 0)],
         [(0, 1, 0),(1, 1, 0),(2, 1, 0),(3, 1, 0)],
         [(0, 2, 0),(1, 2, 0),(2, 2, 0),(3, 2, 0)]],
       
		[[(0, 0, 1),(1, 0, 1),(2, 0, 1),(3, 0, 1)],
         [(0, 1, 1),(1, 1, 1),(2, 1, 1),(3, 1, 1)],
         [(0, 2, 1),(1, 2, 1),(2, 2, 1),(3, 2, 1)]]
	]
#最后把原数组中的元素按照b中对应的下标位置进行放置,即写到b中下标所表示的对应位置,比如原数组中的3在b中对应的下标为(3,0,0),那就把3放到b中的该位置,故
b = [[  [ 0, 12],
        [ 4, 16],
        [ 8, 20]],

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

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

       [[ 3, 15],
        [ 7, 19],
        [11, 23]]]

对于数组的索引:
1.单独下标索引
2.列表索引
3.切片索引
4.下标和切片混合索引
5.下标和下标列表混合索引
6.列表和切片混合索引
7.使用bool数组索引
多维数组的索引:N维数组 array[n-1个逗号],,每个逗号切一个对应维度
四维:array[堆,块,行,列]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值