相关疑难解决方法(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 项

在阅读了这个类似的问题后,我仍然无法完全理解如何实施我正在寻找的解决方案。我有一个稀疏矩阵,即:

 import numpy as np
 from scipy import sparse
 arr = np.array([[0,5,3,0,2],[6,0,4,9,0],[0,0,0,6,8]])
 arr_csc = sparse.csc_matrix(arr)
Run Code Online (Sandbox Code Playgroud)

我想有效地获得每行的前 n 个项目,而不将稀疏矩阵转换为密集矩阵。最终结果应如下所示(假设 n=2):

 top_n_arr = np.array([[0,5,3,0,0],[6,0,0,9,0],[0,0,0,6,8]])
 top_n_arr_csc = sparse.csc_matrix(top_n_arr)
Run Code Online (Sandbox Code Playgroud)

scipy top-n python-3.x

2
推荐指数
1
解决办法
1976
查看次数

标签 统计

scipy ×2

python ×1

python-3.x ×1

sparse-matrix ×1

top-n ×1