gpt4 book ai didi

python - 将 numpy 数组堆叠到对角线上

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:33 34 4
gpt4 key购买 nike

给定 N 个 2d numpy 数组,是否有一种巧妙的方法可以让我在对角线上“堆叠”或“连接”它们,用 0 填充任何新的槽?例如。给出:

arr1 = np.array([[1, 2],
[3, 4]])

arr2 = np.array([[9, 8, 7],
[6, 5, 4],
[3, 2, 1]])

我要创建:

arr = np.array([[1, 2, 0, 0, 0],
[3, 4, 0, 0, 0],
[0, 0, 9, 8, 7],
[0, 0, 6, 5, 4],
[0, 0, 3, 2, 1]])

最佳答案

There's a function for that.

scipy.linalg.block_diag(arr1, arr2)

它接受任意多个参数:

scipy.linalg.block_diag(*list_of_arrays)

关于python - 将 numpy 数组堆叠到对角线上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48820086/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com