np.pad:如何在Python中使用numpy pad()函数

861 阅读2分钟

np.pad - How to Use numpy pad() Function in Python

np.pad()是一个numpy库函数,用于对数组进行填充。 填充是一个过程,在数组的开头和结尾处添加一些数值。

语法

numpy.pad(array, pad_width, mode = 'constant', **kwargs)

参数

array:我们要对其进行填充的数组。

pad_width: 它是我们要填充到数组中的元素的开始和结束的组合大小。( 2, 4) 这里2是在开始时需要添加的填充尺寸,4是在数组的结束时需要添加的填充尺寸。

模式: 函数应该以何种模式将数值填充到数组中。其中一些模式是

  • Constant(常数) - 这是填充数值的默认模式。它用数组中的常数值进行填充。
  • Edge- 用数组的边缘值进行填充。在开始时,它用 数组的第0个 索引元素填充。最后,用数组的最后一个元素填充。
  • Linear_ramp- 它以线性斜坡的方式填充末端和边缘的值。
  • Maximum- 它用列表中的最大元素填充。
  • Mean- 它用列表中的平均值填充。
  • 中位数- 用列表中的中位数进行填充。
  • 最小值- 以列表中的最小元素进行填充。
  • Wrap- 开始值在最后填充,结束值用于填充开始值。
  • Empty- 它用未定义的值填充。
  • Reflect- 用数组的反射值填充。
  • Symmetric- 它填充矩阵边缘的反射。
  • constant_values - 数值是以tuples的形式给出的,比如( 2, 3 )这里,2被填充在数组的开头,而3被填充在数组的结尾。
  • end_values- 它与线性斜率一起使用,以给出极限。
  • reflect_type- 有两种类型,奇数或偶数。

用于填充常量值的Python程序

# import numpy as np
import numpy as np

# creating an array and storing values
arr = [1, 4, 5, 6, 9]

# creating a padded array
res = np.pad(arr, (2, 4), "constant", constant_values=(10, 0))
print(res)

输出

[10 10 1 4 5 6 9 0 0 0 0]

在这个程序中,我们导入了numpy库。然后,我们把数组传成arr。填充的大小是2,4。开始的填充是2,结束的填充是3。模式给定为常数,常数值为10和0。

用于填充最大值的Python程序

import numpy as np

# creating an array and storing values
arr = [1, 4, 5, 6, 9]

# creating a padded array
res = np.pad(arr, (2, 4), 'maximum')
print(res)

输出

[9 9 1 4 5 6 9 9 9 9 9]

在这个程序中,数组中的最大值将被作为填充元素使用。

填充线性斜坡的Python程序

import numpy as np

# Creating an array and storing values
arr = [1, 4, 5, 6, 9]

# creating a padded array
res = np.pad(arr, (2, 4), 'linear_ramp', end_values=(2, 5))
print(res)

输出

[2 1 1 4 5 6 9 8 7 6 5]

这里,"linear_ramp " 参数与end_values一起使用。

Python中的 np.pad() 函数就这样了。