【发布时间】:2021-04-10 15:32:23
【问题描述】:
问题来了
给定一个大小为 n×m 的 2D numpy 数组“a”。您需要填充矩阵 用 0 使矩阵的维数变为 (n+2n1)×(m+2m1)
a = np.array([[1, 1], [1, 1]])
n1 = 1
m1 = 2
print(padding(a, n1, m1))
>>[[0, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 0],
[0, 0, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0]]
我想用 pad() 函数解决这个问题,但问题出在这里
import numpy as np
def padding(a, n1, m1):
return np.pad(a, [n1, m1], constant_values=0)
a = np.array([[1, 1], [1, 1]])
n1 = 1
m1 = 2
print(padding(a, n1, m1))
结果是
[[0 0 0 0 0]
[0 1 1 0 0]
[0 1 1 0 0]
[0 0 0 0 0]
[0 0 0 0 0]]
【问题讨论】:
-
仔细阅读
np.pad文档。您可以指定 4 个填充值!
标签: python arrays numpy matrix