相关疑难解决方法(0)

Scipy.sparse.csr_matrix:如何获得十大价值和指数?

我有一个很大的csr_matrix,我对前十个值及其每一行的指数感兴趣.但我没有找到一种操纵矩阵的好方法.

这是我目前的解决方案,主要思想是逐行处理它们:

row = csr_matrix.getrow(row_number).toarray()[0].ravel()
top_ten_indicies = row.argsort()[-10:]
top_ten_values = row[row.argsort()[-10:]]
Run Code Online (Sandbox Code Playgroud)

通过这样做,csr_matrix没有充分利用其优点.它更像是一个强力解决方案.

python scipy sparse-matrix

13
推荐指数
3
解决办法
9874
查看次数

查找 scipy 稀疏矩阵的一行中的前 n 个值

我有一个 CSR 格式的 scipy 稀疏矩阵。它的尺寸为 72665x72665,因此将此矩阵转换为稠密矩阵来执行运算是不切实际的(此矩阵的稠密表示大约为 40 gig)。该矩阵是对称的,有大约 8200 万个非零项 (~1.5%)。

我想要做的是,对于每一行,我想要获得最大 N 值的索引。如果这是一个 numpy 数组,我会这样做np.argpartition

    for row in matrix:
        top_n_idx = np.argpartition(row,-n)[-n:]
Run Code Online (Sandbox Code Playgroud)

对于稀疏矩阵,我可以做类似的事情吗?

python numpy scipy

4
推荐指数
1
解决办法
2483
查看次数

标签 统计

python ×2

scipy ×2

numpy ×1

sparse-matrix ×1