7
我有一个二维numpy数组,具有相同数量的列和行。我想将它们排列成一个更大的阵列,并在对角线上放置较小的阵列。应该可以指定起始矩阵应该在对角线上的频率。例如:从给定的numpy数组创建块对角线numpy阵列
a = numpy.array([[5, 7],
[6, 3]])
所以,如果我想这个数组对角线上的期望输出2倍是:
array([[5, 7, 0, 0],
[6, 3, 0, 0],
[0, 0, 5, 7],
[0, 0, 6, 3]])
3次:
array([[5, 7, 0, 0, 0, 0],
[6, 3, 0, 0, 0, 0],
[0, 0, 5, 7, 0, 0],
[0, 0, 6, 3, 0, 0],
[0, 0, 0, 0, 5, 7],
[0, 0, 0, 0, 6, 3]])
有一个快速的方法用numpy方法和任意大小的起始数组实现这一点(仍然考虑起始数组具有相同数量的行和列)?
你会如何做,如果你需要插入X不同矩阵转换成对角线?我有80个不同的矩阵,需要做成一个块对角矩阵。 –
@ Will.Evo所有80个相同的形状? – Divakar
是的所有相同的形状 –