numpy 数组 填充 0、1和各种值
import numpy as np
arr1D = np.arange(1, 4)
print(arr1D)
[1 2 3]
一维数组
相同值
np.pad(
arr1D,
(2, 3),
'constant'
)
array([0, 0, 1, 2, 3, 0, 0, 0])
边缘值
np.pad(
arr1D,
(2, 3),
'edge'
)
array([1, 1, 1, 2, 3, 3, 3, 3])
递减值
np.pad(
arr1D,
(2, 3),
'linear_ramp'
)
array([0, 0, 1, 2, 3, 2, 1, 0])
最大值
np.pad(
arr1D,
(2, 3),
'maximum'
)
array([3, 3, 1, 2, 3, 3, 3, 3])
平均值
np.pad(
arr1D,
(2, 3),
'mean'
)
array([2, 2, 1, 2, 3, 2, 2, 2])
中位数
np.pad(
arr1D,
(2, 3),
'median'
)
array([2, 2, 1, 2, 3, 2, 2, 2])
最小值
np.pad(
arr1D,
(2, 3),
'minimum'
)
array([1, 1, 1, 2, 3, 1, 1, 1])
边缘对称
np.pad(
arr1D,
(2, 3),
'reflect'
)
array([3, 2, 1, 2, 3, 2, 1, 2])
边缘外的空气对称
np.pad(
arr1D,
(2, 3),
'symmetric'
)
array([2, 1, 1, 2, 3, 3, 2, 1])
原数组
np.pad(
arr1D,
(2, 3),
'wrap'
)
array([2, 3, 1, 2, 3, 1, 2, 3])
二维数组
arr2D = np.arange(95,99).reshape(2,2)
print(arr2D)
array([[95, 96],
[97, 98]])
np.pad(
arr2D,
(
(1, 2),
(3, 4)
),
'constant',
constant_values=(
1,
0
)
)
array([[ 1, 1, 1, 1, 1, 0, 0, 0, 0],
[ 1, 1, 1, 95, 96, 0, 0, 0, 0],
[ 1, 1, 1, 97, 98, 0, 0, 0, 0],
[ 1, 1, 1, 0, 0, 0, 0, 0, 0],
[ 1, 1, 1, 0, 0, 0, 0, 0, 0]])