簡體   English   中英

訪問稀疏 CSR 矩陣中的列

[英]Accessing column in sparse CSR matrix

在訪問稀疏 CSR 矩陣中的最后一列時遇到一些問題。 理想情況下,我想將最后一列轉換為某種數組,可以用作我的 label 集。 我的 CSR 矩陣如下所示:

(0, 1976)   1
  (0, 2916) 1
  (0, 3871) 1
  (0, 4437) 1
  (0, 8202) 1
  (0, 9458) 1
  (0, 10597)    1
  (1, 4801) 1
  (1, 6903) 1
  (1, 7525) 1
  (2, 873)  1
  (2, 1017) 1
  (2, 1740) 1
  (2, 1925) 1
  (3, 1976) 1
  (3, 5606) 1
  (3, 6898) 1

我想訪問包含所有“1”的最后一列。 有沒有辦法可以做到這一點?

CSR 矩陣具有indiciesindptr屬性,請參見下面的示例,該示例使用這些屬性將矩陣轉換為列表:

def sparse_to_string_list(matrix: csr_matrix):
    res = []
    indptr = matrix.indptr
    indices = matrix.indices
    for row in range(matrix.shape[0]):
        arr = [k for k in indices[indptr[row]: indptr[row + 1]]]
        arr.sort()
        res.append(' '.join([str(k) for k in arr]))
    return res

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM