python - Numpy:从较小的矩阵创建矩阵

标签 python numpy matrix

有没有办法使用 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/

相关文章:

尽管我正在执行 str.decode(),但 Python 会抛出 UnicodeEncodeError。为什么?

python - 如何使用来自另一个数据框的输入最佳地将函数应用于数据框的所有项目?

python - 对任意数量的数组的所有可能组合求和并应用限制并返回索引

python - 通过主机名解析mac地址

python - wxStaticBitmap 与 wxPtyhon 在 GTK+ 不工作

R:向量乘法矩阵

python - 给定两个大小相等的二进制矩阵,计算模式相似度分数

c++ - 在 OpenCV 中乘以矩阵的 SVD 分量

python - Pandas Dataframe 的 Csv 缺少列

python - Pandas 扩展/滚动窗口相关性计算与 p 值