python – 将符合特定条件的scipy.sparse矩阵行设置为零
发布时间:2020-12-16 21:47:08 所属栏目:Python 来源:网络整理
导读:我想知道用稀疏矩阵替换不满足某个条件的行的最佳方法是什么.例如(我使用普通数组进行说明): 我想用一行零替换总和大于10的每一行 a = np.array([[0,1,1],[1,2,0],[6,7,4,# sum 10 [0,[7,3,8],# sum 10 [0,2]]) 我想用零替换[2]和[4],所以我的输出应该如下
我想知道用稀疏矩阵替换不满足某个条件的行的最佳方法是什么.例如(我使用普通数组进行说明): 我想用一行零替换总和大于10的每一行
我想用零替换[2]和[4],所以我的输出应该如下所示:
这对于密集矩阵来说非常简单:
但是,当我尝试:
我收到此错误:
因此,我需要一个不同的稀疏矩阵解决方案.我想出了这个:
这依赖于以下事实:如果我们将单位矩阵中对角线的第2和第4个元素设置为零,则将预乘矩阵的行设置为零. 但是,我觉得有更好的,更多的scipynic解决方案.有更好的解决方案吗? 最佳答案
不确定它是否非常scithonic,但是通过直接访问guts可以更好地完成稀疏矩阵上的大量操作.对于你的情况,我个人会这样做:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |