I have below numpy
array
import numpy as np
np.identity(13)
Now I like to replace all off-diagonal elements with some other number, say 0.45.
Is there any direct method available to perform this?
CodePudding user response:
You can use numpy.where
np.where(np.identity(13)==0, 0.45, 1)
CodePudding user response:
What about the following?
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)