numpy.flip#

numpy.flip(m, axis=None)[source]#

沿给定轴反转数组中元素的顺序。

数组的形状保持不变,但元素重新排序。

版本 1.12.0 中的新功能。

参数:
marray_like

输入数组。

axisNone 或 int 或 int 元组,可选

要翻转的轴或轴。默认值 axis=None 将翻转输入数组的所有轴。如果 axis 为负数,则从最后一个轴到第一个轴进行计数。

如果 axis 是一个 int 元组,则对元组中指定的所有轴执行翻转。

版本 1.15.0 中的更改: 支持 None 和轴元组

返回值:
outarray_like

具有反转轴条目的 m 的视图。由于返回的是视图,因此此操作在恒定时间内完成。

另请参阅

flipud

垂直翻转数组 (axis=0)。

fliplr

水平翻转数组 (axis=1)。

备注

flip(m, 0) 等价于 flipud(m)。

flip(m, 1) 等价于 fliplr(m)。

flip(m, n) 对应于 m[...,::-1,...],其中 ::-1 在位置 n。

flip(m) 对应于 m[::-1,::-1,...,::-1],其中 ::-1 在所有位置。

flip(m, (0, 1)) 对应于 m[::-1,::-1,...],其中 ::-1 在位置 0 和位置 1。

示例

>>> import numpy as np
>>> A = np.arange(8).reshape((2,2,2))
>>> A
array([[[0, 1],
        [2, 3]],
       [[4, 5],
        [6, 7]]])
>>> np.flip(A, 0)
array([[[4, 5],
        [6, 7]],
       [[0, 1],
        [2, 3]]])
>>> np.flip(A, 1)
array([[[2, 3],
        [0, 1]],
       [[6, 7],
        [4, 5]]])
>>> np.flip(A)
array([[[7, 6],
        [5, 4]],
       [[3, 2],
        [1, 0]]])
>>> np.flip(A, (0, 2))
array([[[5, 4],
        [7, 6]],
       [[1, 0],
        [3, 2]]])
>>> rng = np.random.default_rng()
>>> A = rng.normal(size=(3,4,5))
>>> np.all(np.flip(A,2) == A[:,:,::-1,...])
True