numpy.rollaxis
numpy.rollaxis(a, axis, start=0) [source]
向后滚动指定的轴,直到其位于给定的位置。
继续支持此功能以实现向后兼容,但是您应该首选moveaxis。moveaxis
功能已在NumPy 1.11中添加。
参数 : | a : 输入数组。 axis : 要滚动的轴。 其他轴的位置相对彼此不变。 start :int, 可选
当 将导致“complete” 滚动。 下表描述了如何解释 |
返回值 : | res :ndarray 对于NumPy> = 1.10.0,始终返回a的视图。 对于较早的NumPy版本,仅当更改轴顺序时才返回a的视图, 否则返回输入数组。 |
例子
1)将最后一个轴移到第一个位置
import numpy as np # 创建一个3维数组 arr = np.ones((3, 4, 5)) # 使用 rollaxis 将最后一个轴(轴2)移到第一个位置 rolled_arr = np.rollaxis(arr, 2, 0) print("Original shape:", arr.shape) print("Rolled shape:", rolled_arr.shape)
2)使用示例
import numpy as np # 创建一个形状为 (3, 4, 5, 6) 的全 1 数组 a = np.ones((3, 4, 5, 6)) # 将第四个轴(轴索引 3)移到第二个位置(索引 1) rolled_1 = np.rollaxis(a, 3, 1) print("Original shape:", a.shape) print("After rolling axis 3 to position 1:", rolled_1.shape) # 输出: (3, 6, 4, 5) # 将第三个轴(轴索引 2)移到第一个位置(默认 start=0) rolled_2 = np.rollaxis(a, 2) print("Original shape:", a.shape) print("After rolling axis 2 to position 0:", rolled_2.shape) # 输出: (5, 3, 4, 6) # 将第二个轴(轴索引 1)移到第四个位置(索引 4) rolled_3 = np.rollaxis(a, 1, 4) print("Original shape:", a.shape) print("After rolling axis 1 to position 4:", rolled_3.shape) # 输出: (3, 5, 6, 4)