【问题标题】:Get specific columns from scipy csr_matrix从 scipy csr_matrix 获取特定列
【发布时间】:2015-08-02 14:38:31
【问题描述】:

我有一个稀疏矩阵,如果我打印它看起来像这样:

  (0, 1773)     0.626247271075
  (0, 1604)     0.626247271075
  (0, 1515)     0.299755787345
  (0, 660)      0.354647964743
  (1, 2379)     0.206542018824
  (1, 2159)     0.158175640686

实际上有超过 2000 列,但由于它是一个稀疏矩阵,所以只打印了这个。我想获取第二列的值,按最后一列排序,如下所示:

  x: 1604     y: 0.626247271075
  x: 660      y: 0.354647964743
  x: 1515     y: 0.299755787345
  x: 2379     y: 0.206542018824
  x: 2159     y: 0.158175640686

我对 Scipy 文档不是很清楚,如何访问这些列?

【问题讨论】:

    标签: scipy


    【解决方案1】:

    您可以使用scipy.sparse.csr_matrix.nonzero 访问非零索引

    from scipy.sparse import csr_matrix
    A = csr_matrix([[1,2,0],[0,0,3],[4,0,5]])
    print(A.nonzero()) 
    
    (array([0, 0, 1, 2, 2]), array([0, 1, 2, 0, 2]))
    

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2014-10-22
      • 2017-11-05
      • 2022-01-26
      • 2016-01-21
      • 2023-03-31
      • 2011-07-22
      • 1970-01-01
      相关资源
      最近更新 更多