zoukankan      html  css  js  c++  java
  • 关于rollaxis与swapaxes的使用

    # 关于rollaxis与swapaxes的使用
    import numpy as np
    
    a = np.arange(8).reshape(2, 2, 2)
    print(a)
    print(a.ndim)  # 维度
    # numpy.rollaxis 函数向后滚动特定的轴到一个特定位置
    # numpy.rollaxis(arr, axis, start)
    # arr:数组
    # axis:要向后滚动的轴,其它轴的相对位置不会改变
    # start:默认为零,表示完整的滚动。会滚动到特定位置。
    """
    原数组下标
    0(000) 1(001)
    2(010) 3(011)
    4(100) 5(101)
    6(110) 7(111)
    """
    
    print(np.rollaxis(a, 2))
    """
    如:101 -> 110
    np.rollaxis(a, 2)
    0(000) 2(001)
    4(010) 6(011)
    1(100) 3(101)
    5(110) 7(111)
    """
    print('
    ')
    print(np.rollaxis(a, 2, 1))
    """
    如:101 -> 110  
    np.rollaxis(a, 2, 1)
    0(000) 2(001)
    1(010) 3(011)
    4(100) 6(101)
    5(110) 7(111)
    """
    print('
    ')
    
    # numpy.swapaxes 函数用于交换数组的两个轴
    # numpy.swapaxes(arr, axis1, axis2)
    # arr:输入的数组
    # axis1:对应第一个轴的整数
    # axis2:对应第二个轴的整数
    print(np.swapaxes(a, 2, 0))
    """
    如:001 -> 100  
    np.swapaxes(a, 2, 0)
    0(000) 4(001)
    2(010) 6(011)
    1(100) 5(101)
    3(110) 7(111)
    """
    

    打印结果

    [[[0 1]
      [2 3]]
    
     [[4 5]
      [6 7]]]
    3
    [[[0 2]
      [4 6]]
    
     [[1 3]
      [5 7]]]
    
    
    [[[0 2]
      [1 3]]
    
     [[4 6]
      [5 7]]]
    
    
    [[[0 4]
      [2 6]]
    
     [[1 5]
      [3 7]]]
    
  • 相关阅读:
    【Linux基础总结】Linux基本环境
    mysql 源码安装
    windows内存映射文件
    TCHAR和CHAR类型的互转
    删除链表中重复的结点
    iptables防火墙
    两个链表的第一个公共结点
    无人值守安装linux系统
    dns服务 很多问题,后续再研究
    string 类型转换
  • 原文地址:https://www.cnblogs.com/fly-book/p/13491406.html
Copyright © 2011-2022 走看看