如何在NumPy数组周围添加一个边框

  • Post category:Python

要在NumPy数组周围添加一个边框,可以使用NumPy提供的numpy.pad函数。该函数的作用是在数组的边界周围添加指定数量的填充值。

下面是实现该功能的完整步骤:

  1. 导入NumPy库
import numpy as np
  1. 创建一个NumPy数组

下面是创建一个 3×3 的数组的示例:

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

该数组为:

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
  1. 使用numpy.pad函数添加边框

numpy.pad函数的第一个参数是需要添加边框的数组,第二个参数是用来表示边框的元组,格式为(before, after),其中beforeafter参数分别指定在数组前面和后面添加多少行和列。第三个参数指定填充值,如果不指定,则默认为0。

下面是在示例数组周围添加一行一列填充值的代码:

padded_arr = np.pad(arr, ((1, 1), (1, 1)), 'constant')

((1, 1), (1, 1))表示在数组周围各添加一行一列边框,'constant'表示填充值采用常数填充。

添加边框后的数组为:

array([[0, 0, 0, 0, 0],
       [0, 1, 2, 3, 0],
       [0, 4, 5, 6, 0],
       [0, 7, 8, 9, 0],
       [0, 0, 0, 0, 0]])
  1. 使用numpy.pad函数添加不同填充值

上面的示例中采用的是常数填充,如果需要用不同的值填充数组的边框,可以指定constant_values参数,该参数可指定两个值,分别表示在边框前后使用的填充值。

下面是在示例数组周围添加一行一列填充值3的代码:

padded_arr = np.pad(arr, ((1, 1), (1, 1)), 'constant', constant_values=(3))

添加边框后的数组为:

array([[3, 3, 3, 3, 3],
       [3, 1, 2, 3, 3],
       [3, 4, 5, 6, 3],
       [3, 7, 8, 9, 3],
       [3, 3, 3, 3, 3]])

至此,我们就完成了在NumPy数组周围添加边框的教程,希望可以帮助到你。