我有一个二维numpy数组,列数和行数相同.我想把它们安排成一个更大的阵列,在对角线上有较小的阵列.应该可以指定起始矩阵在对角线上的频率.例如:
a = numpy.array([[5, 7],
[6, 3]])
Run Code Online (Sandbox Code Playgroud)
所以,如果我想在对角线上对这个数组进行2次,那么所需的输出将是:
array([[5, 7, 0, 0],
[6, 3, 0, 0],
[0, 0, 5, 7],
[0, 0, 6, 3]])
Run Code Online (Sandbox Code Playgroud)
三次:
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]])
Run Code Online (Sandbox Code Playgroud)
有没有一种快速的方法来实现这个与numpy方法和任意大小的起始数组(仍然考虑起始数组具有相同数量的行和列)?