NumPy flip()

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(可选)- 要反转的轴(Noneinttuple

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]]

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战