有没有办法使用numpy从较小的方阵M?
创建一个方阵M?假设M的形状可以被m(2x2)的形状整除:
array([[ 1., 2., 1., 2.],
[ 3., 4., 3., 4.],
[ 1., 2., 1., 2.],
[ 3., 4., 3., 4.]])
从m开始,我想构建一个形状为4x4的矩阵,这样:
numpy.full((4,4), 0, dtype=numpy.int)
已创建。
我知道如何创建特定形状的矩阵并使用标量初始化它:
{{1}}
在这里,我想用现有的数组构建。如何实现(并有效)?
答案 0 :(得分:5)
我们可以使用NumPy's Kronecker product
-
np.kron(np.ones((2, 2), dtype=int), m)
示例运行 -
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]])
答案 1 :(得分:4)
使用!function () {/* Stuff */}(); // The "!" can be any valid expression
:
np.tile