小编Inv*_*anz的帖子

从给定的numpy数组创建块对角numpy数组

我有一个二维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方法和任意大小的起始数组(仍然考虑起始数组具有相同数量的行和列)?

python arrays numpy

11
推荐指数
3
解决办法
4680
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1