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)