
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() 函数就这样了。