Python: comment stocker une matrice creuse à l'aide de python?

J'ai une sortie à l'aide de matrices creuses en python, j'ai besoin de stocker cette matrice creuse dans mon disque dur, comment puis-je le faire? si je dois créer une base de données, puis comment dois-je faire??
c'est mon code:

import nltk
import cPickle
import numpy
from scipy.sparse import lil_matrix
from nltk.corpus import wordnet as wn
from nltk.corpus import brown
f = open('spmatrix.pkl','wb')
def markov(L):
    count=0
    c=len(text1)
    for i in range(0,c-2):
        h=L.index(text1[i])
        k=L.index(text1[i+1])
        mat[h,k]=mat[h,k]+1//matrix
    cPickle.dump(mat,f,-1)



text = [w for g in brown.categories() for w in brown.words(categories=g)]
text1=text[1:500]
arr=set(text1)
arr=list(arr)
mat=lil_matrix((len(arr),len(arr)))
markov(arr)
f.close()

J'ai besoin de stocker ce "tapis" dans un fichier et devrait accéder à la valeur de la matrice en utilisant les coordonnées..

résultat de la matrice creuse est comme ceci: "le résultat de matrices creuses sont comme ceci:

(173, 168) 2.0 (173, 169) 1.0 (173, 172) 1.0 (173, 237) 4.0 (174, 231) 1.0 (175, 141) 1.0 (176, 195) 1.0 

mais quand je le stocker dans un fichier et de lire la même chose, je suis comme ça:

(0, 68) 1.0 (0, 77) 1.0 (0, 95) 1.0 (0, 100)    1.0 (0, 103)    1.0 (0, 110) 1.0 (0, 112)   2.0 (0, 132)    1.0 (0, 133)    2.0 (0, 139)    1.0 (0, 146)    2.0 (0, 156)    1.0 (0, 157)    1.0 (0, 185)    1.0
Avez-vous une base de données particulière en tête? Quelle est la taille de ces matrices? Avez-vous envisagé de sqlite (qui Python a un support intégré pour)?
je suis un débutant, je ne connais pas trop, eh bien, je suis juste essayer de trouver une solution pour stocker mes matrice de disque dur, je ne veux pas d'exécuter le programme pour produire la matrice de nouveau et de nouveau, si je peux stocker la matrice je peux juste référence à la matrice des valeurs de la prochaine fois.. pls me suggérer.. merci 🙂
Veuillez voir les rubriques suivantes pour formater votre code de sorte qu'il est lisible: stackoverflow.com/editing-help, mais fondamentalement, il suffit de mettre 4 espaces avant chaque ligne de code, puis tiret comme vous le feriez autrement, assurez-vous de laisser une ligne vide entre code et de texte normal.

OriginalL'auteur Bhuvan raj | 2011-03-02