NumPy pad() 函数用于填充数组。该函数包含一个可选参数mode,可用于指定字符串值(预定义的填充样式)或用户提供的填充函数。
语法
numpy.pad(array, pad_width, mode='constant')
参数
array | 必填。 指定要填充的数组(等级为 N 的 array_like)。 |
pad_width | 必填。 指定 .它指定填充到每个轴边缘的值的数量。 ((before_1, after_1), … (before_N, after_N)) 每个轴的唯一焊盘宽度。 ((之前、之后)、) 在每个轴的 pad 之前和之后产生相同的结果。 (pad,) 或 int 是 before = after = 所有轴的 pad 宽度的快捷方式。 |
mode | 可选。 指定以下字符串值之一或用户提供的函数:
|
返回值
返回等级等于array的填充数组,形状根据pad_width增加。
示例:
下面的示例显示了pad() 函数的用法。
import numpy as np
x = [10, 20]
#填充常量值
print("填充常量值:")
print(np.pad(x, (2,3), 'constant', constant_values=(5, 25)))
#填充边缘值
print("\n填充边缘值:")
print(np.pad(x, (2,3), 'edge'))
#填充最大值
print("\n填充最大值:")
print(np.pad(x, (2,3), 'maximum'))
#padding 最小值
print("\n填充最小值:")
print(np.pad(x, (2,3), 'minimum'))
#填充平均值
print("\n填充平均值:")
print(np.pad(x, (2,3), 'mean'))
#填充带有 Linear_ramp 值
print("\n使用 Linear_ramp 值填充:")
print(np.pad(x, (2,3), 'linear_ramp', end_values=(0, 0)))
上述代码的输出将是:
填充常量值:
[ 5 5 10 20 25 25 25]
填充边缘值:
[10 10 10 20 20 20 20]
填充最大值:
[20 20 10 20 20 20 20]
填充最小值:
[10 10 10 20 10 10 10]
填充平均值:
[15 15 10 20 15 15 15]
使用 Linear_ramp 值填充:
[ 0 5 10 20 13 6 0]
示例:
让我们再考虑一个用常量值填充二维数组的示例。
import numpy as np
x = [[10, 20],
[30, 40]]
#用 1 填充该数组
print("填充常量值:")
print(np.pad(x, ((2,3),(1,2)), 'constant',
constant_values=((1, 2),(3, 4))))
上述代码的输出将是:
填充常量值:
[[ 3 1 1 4 4]
[ 3 1 1 4 4]
[ 3 10 20 4 4]
[ 3 30 40 4 4]
[ 3 2 2 4 4]
[ 3 2 2 4 4]
[ 3 2 2 4 4]]