gpt4 book ai didi

python - Scipy 相当于 numpy where 对于稀疏矩阵

转载 作者:行者123 更新时间:2023-11-28 20:22:03 25 4
gpt4 key购买 nike

我正在寻找 numpy.where 的等价物与 scipy 提供的稀疏表示一起使用 ( scipy.sparse )。有没有什么可以让您像使用 if-then-else 语句一样处理这些矩阵?

更新更具体地说:我需要 where 作为 if-then-else 向量化函数,即在类似这样的任务中,对于矩阵 A 中等于 K 的每个值,将相应的值放入矩阵 B,否则为 C .您可以使用 find 之类的方法来检索满足逻辑条件的那些条目的索引,然后取反它们以找到所有剩余的条目,但是对于稀疏矩阵,没有更紧凑的方法吗?

最佳答案

您可以使用 scipy.sparse.find ( http://docs.scipy.org/doc/scipy-0.9.0/reference/generated/scipy.sparse.find.html )。此函数返回稀疏矩阵的非负值。对于特定条件,您可以使用即:

 import scipy.sparse as sp
A = sp.csr_matrix([[1, 2, 0], [0, 0, 3], [4, 0, 5]])
B = A > 2 #the condition
indexes = sp.find(B)

关于python - Scipy 相当于 numpy where 对于稀疏矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com