Numpy 的文档中有一个使用常量填充二维数组的示例:
def pad_with(vector, pad_width, iaxis, kwargs):
pad_value = kwargs.get('padder', 10)
vector[:pad_width[0]] = pad_value
vector[-pad_width[1]:] = pad_value
但它仅适用于对称填充。例如,np.pad(a, ((2, 2), (1, 1)), pad_with, padder=0)
给出:
[[0 0 0 0 0]
[0 0 0 0 0]
[0 1 1 1 0]
[0 1 1 1 0]
[0 0 0 0 0]
[0 0 0 0 0]]
问题:如何仅从特定侧面(即仅左侧和顶部)填充阵列?像这样:
[[0 0 0 0]
[0 0 0 0]
[0 1 1 1]
[0 1 1 1]]