我有一个以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/

10-15 02:04