关于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('\n')
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('\n')

# 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]]]
posted @ 2020-08-12 16:36  fly_bk  阅读(309)  评论(0编辑  收藏  举报