flip()
方法反转数组中元素的顺序。
示例
import numpy as np
# create an array
array1 = np.array([0, 1, 2, 3, 4])
# flip the elements of array1
array2 = np.flip(array1)
print(array2)
# Output: [4 3 2 1 0]
flip() 语法
flip()
的语法是:
numpy.flip(array, axis = None)
flip() 参数
flip()
方法接受两个参数:
array
- 需要反转元素的数组axis
(可选)- 要反转的轴(None
或int
或tuple
)
flip() 返回值
flip()
方法返回元素反转后的数组。
示例 1:反转 2-D 数组
2-D 数组可以在两个轴上进行反转。如果数组沿轴 0 反转,则垂直反转;如果数组沿轴 1 反转,则水平反转。
import numpy as np
# create an array
array1 = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
# flip the elements of array1
array2 = np.flip(array1)
# flip array1 vertically
array3 = np.flip(array1, axis = 0)
# flip array1 horizontally
array4 = np.flip(array1, axis = 1)
print('\n Flipped Array: \n', array2)
print('\n Array flipped along axis 0\n', array3)
print('\n Array flipped along axis 1\n', array4)
输出
Flipped Array: [[8 7 6] [5 4 3] [2 1 0]] Array flipped along axis 0 [[6 7 8] [3 4 5] [0 1 2]] Array flipped along axis 1 [[2 1 0] [5 4 3] [8 7 6]]
在这里,我们在 array2 中没有传递 axis
,因此数组被展平、反转,然后重塑回其原始形状。
示例 2:沿多个轴反转 3-D 数组
import numpy as np
# create an array
array1 = np.array([[[0, 1], [2, 3]],
[[4, 5], [6, 7]]])
# flip the elements of array1 along axis 0
array2 = np.flip(array1, axis = 0)
# flip the elements of array1 along axis 1
array3 = np.flip(array1, axis = 1)
# flip the elements of array1 along both axis 0 and 1
array4 = np.flip(array1, (0, 1))
print('\n Array flipped on axis 0: \n', array2)
print('\n Array flipped on axis 1: \n', array3)
print('\n Array flipped on axes 0 and 1: \n', array4)
输出
Array flipped on axis 0: [[[4 5] [6 7]] [[0 1] [2 3]]] Array flipped on axis 1: [[[4 5] [6 7]] [[0 1] [2 3]]] Array flipped on axes 0 and 1: [[[6 7] [4 5]] [[2 3] [0 1]]]
示例 3:使用 flipup() 和 fliplr() 进行反转
除了使用 axis
参数外,我们还可以直接使用 flipud()
进行垂直反转,使用 fliplr()
进行水平反转。
import numpy as np
# create an array
array1 = np.array([[0, 1], [2, 3]])
# flip the elements of array1 vertically
array2 = np.flipud(array1)
# flip the elements of array1 horizontally
array3 = np.fliplr(array1)
print('\n Array flipped vertically : \n',array2)
print('\n Array flipped horizontally : \n',array3)
输出
Array flipped vertically : [[2 3] [0 1]] Array flipped horizontally : [[1 0] [3 2]]