我有一个以scipy稀疏csr_matrix格式存储的大型(60,000 x 60,000)对称文档相似度矩阵。
我想找到高于某个值的所有值的索引。换句话说,所有具有相似度分数大于特定值的文档对。
当我尝试类似
matrix > 0.9
我的ipython内核崩溃。
我是scipy和numpy的新手,因此非常感谢您的帮助。
最佳答案
我会尝试对较小的数据集执行操作
我刚试过
In [22]: import scipy.sparse as sps
In [23]: m = sps.csr_matrix(np.random.rand(100,100))
In [24]: m
Out[24]:
<100x100 sparse matrix of type '<type 'numpy.float64'>'
with 10000 stored elements in Compressed Sparse Row format>
In [25]: m > .5
Out[25]:
<100x100 sparse matrix of type '<type 'numpy.bool_'>'
with 5028 stored elements in Compressed Sparse Row format>
这样看来可行。也许您的矩阵太大/太密。你自己建立scipy吗?可能是因为构建错误导致崩溃。
您的OS / python版本/ scipy版本是什么?
import scipy
scipy.__version__
关于python - 在python中过滤大型稀疏矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28463626/