替换numpy数组中所有非对角元素

whhtz7ly  于 2022-12-13  发布在  其他
关注(0)|答案(2)|浏览(134)

我有下面的numpy数组

import numpy as np
np.identity(13)

现在我想用其他数字,比如0.45,来替换所有非对角线元素。
是否有任何直接的方法可用于执行此操作?

0g0grzrc

0g0grzrc1#

那么下面呢?

import numpy as np
n = 13
val_offdiag = 0.45
val_diag = 1
a = np.full((n ,n), val_offdiag) - np.identity(n) * (val_offdiag - val_diag)
e4yzc0pl

e4yzc0pl2#

您可以使用numpy.where

np.where(np.identity(13)==0, 0.45, 1)

相关问题