有没有办法使用 numpy 从较小的方阵 m 创建方阵 M?
假设 M 的形状可以被 m (2x2) 的形状整除:
m = [[1, 2],
[3, 4]]
我想从 m 构建一个 4x4 形状的矩阵,这样:
array([[ 1., 2., 1., 2.],
[ 3., 4., 3., 4.],
[ 1., 2., 1., 2.],
[ 3., 4., 3., 4.]])
已创建。
我知道如何创建特定形状的矩阵并使用标量对其进行初始化:
numpy.full((4,4), 0, dtype=numpy.int)
在这里,我想使用现有数组进行构建。如何(有效地)实现这一点?
最佳答案
我们可以使用NumPy's Kronecker product
-
np.kron(np.ones((2, 2), dtype=int), m)
sample 运行-
In [140]: m
Out[140]:
array([[1, 2],
[3, 4]])
In [141]: np.kron(np.ones((2, 2), dtype=int), m)
Out[141]:
array([[1, 2, 1, 2],
[3, 4, 3, 4],
[1, 2, 1, 2],
[3, 4, 3, 4]])
关于python - Numpy:从较小的矩阵创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40225901/