2024-09-30 01:18:45 发布
网友
给定n2dnumpy数组,有没有一种简单的方法可以让我在对角线上将它们“堆叠”或“栓接”在一起,用0填充任何新的插槽?E、 g.给定:
arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])
我想创造:
我刚找到一个似乎正符合我需要的东西:
https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.linalg.block_diag.html
>> from scipy.linalg import block_diag >>> A = [[1, 0], ... [0, 1]] >>> B = [[3, 4, 5], ... [6, 7, 8]] >>> C = [[7]] >>> block_diag(A, B, C) [[1 0 0 0 0 0] [0 1 0 0 0 0] [0 0 3 4 5 0] [0 0 6 7 8 0] [0 0 0 0 0 7]]
尝试:
>>> arr = np.zeros((5, 5)) >>> arr[:2, :2] = arr1 >>> arr[2:, 2:] = arr2
为了验证它是否有效,我们可以显示arr:
arr
There's a function for that.
scipy.linalg.block_diag(arr1, arr2)
它需要任意多个参数:
我刚找到一个似乎正符合我需要的东西:
https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.linalg.block_diag.html
尝试:
为了验证它是否有效,我们可以显示
^{pr2}$arr
:There's a function for that.
它需要任意多个参数:
^{pr2}$相关问题 更多 >
编程相关推荐