El valor de acceso, el índice de la columna y los datos de row_ptr de la matriz dispersa CSR scipy

Tengo una matriz grande que me gustaría convertir a formato CSR disperso.

Cuando lo hago:

import scipy as sp Ks = sp.sparse.csr_matrix(A) print Ks 

Donde A es denso, obtengo

  (0, 0) -2116689024.0 (0, 1) 394620032.0 (0, 2) -588142656.0 (0, 12) 1567432448.0 (0, 14) -36273164.0 (0, 24) 233332608.0 (0, 25) 23677192.0 (0, 26) -315783392.0 (0, 45) 157961968.0 (0, 46) 173632816.0 

etc …

Puedo obtener vectores de índice de fila, índice de columna y valor usando:

     Knz = Ks.nonzero() sparserows = Knz[0] sparsecols = Knz[1] #The Non-Zero Value of K at each (Row,Col) vals = np.empty(sparserows.shape).astype(np.float) for i in range(len(sparserows)): vals[i] = K[sparserows[i],sparsecols[i]] 

    Pero, ¿es posible extraer los vectores supuestamente contenidos en el formato CSR disperso (valor, índice de columna, puntero de fila)?

    La documentación de SciPy explica que se podría generar una matriz CSR a partir de esos tres vectores, pero me gustaría hacer lo contrario, eliminar esos tres vectores.

    ¿Qué me estoy perdiendo?

    ¡Gracias por el tiempo!

    Related of "El valor de acceso, el índice de la columna y los datos de row_ptr de la matriz dispersa CSR scipy"

     value = Ks.data column_index = Ks.indices row_pointers = Ks.indptr 

    Creo que estos atributos no están documentados, lo que puede hacer que estén sujetos a cambios, pero los he usado en varias versiones de scipy.