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
是的所有相同的形狀 –