【发布时间】:2019-06-04 03:41:31
【问题描述】:
我正在尝试使用 numpy 和一些稀疏矩阵进行一些矩阵计算。为此,我想忽略矩阵中的零并只访问一些值,但我还需要覆盖它们。
import numpy as np
a=np.random.rand(5,5)
#does not change a:
a[[1,2],...][...,[1,2]]=np.array([[0,0],[0,0]])
#just changes (1,1) and (2,2)
a[[1,2],[1,2]]=np.array([0,0])
我想用零覆盖 [1,1],[1,2],[2,1],[2,2]。
【问题讨论】:
-
这里到底有什么问题?
a[[1,2],[1,2]]=np.array([0,0])有什么问题? -
它只是覆盖(1,1)和(2,2),但我想覆盖(1,1),(1,2),(2,1)和(2, 2)!
-
a[[[1], [2]], [1,2]]= 0或a[np.ix_([1,2], [1,2])]=0