【发布时间】:2018-02-01 18:19:39
【问题描述】:
我有以下二维数组
A=([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16])
我想用数组替换主对角线
a = ([0,2,15,20])
因此,结果一定是
A=([[0, 2, 3, 4],
[5, 2, 7, 8],
[9, 10, 15, 12],
[13, 14, 15, 20])
我尝试使用 np.diag(a, k=0) 但它不起作用,因为 np.diag() 使用数组“a”创建了一个对角二维数组。
有没有办法用 numpy 做到这一点? 上面的例子是最简单的。我希望不仅可以更改邮件对角线,还可以更改所有对角线。
【问题讨论】:
标签: python arrays numpy diagonal