tengo una salida usando matrices dispersas en Python, i necesidad de almacenar esta matriz dispersa en mi disco duro, ¿cómo puedo hacerlo? si debería crear una base de datos, ¿cómo debería hacerlo? este es mi código:Python: ¿cómo se almacena una matriz dispersa usando Python?
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()
necesito para almacenar este "mat" en un archivo y debe acceder al valor de la matriz utilizando las coordenadas ..
resultado de la matriz dispersa es como esto: `el resultado de matriz dispersa son así:
(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
pero cuando la almacena en un archivo y lee el mismo lo estoy consiguiendo de esta manera:
(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
¿Tiene una base de datos en particular en mente? ¿Cuál es el tamaño de estas matrices? ¿Has considerado sqlite (que Python tiene soporte integrado)? – NullUserException
soy novato, no sé mucho, bueno solo estoy tratando de encontrar una solución para almacenar mi matriz en el disco duro no quiero ejecutar el programa para producir la matriz una y otra vez, si puedo almacenar la matriz, solo puedo hacer referencia a la matriz de los valores la próxima vez .. los pls me sugieren ... gracias :) –
Por favor, consulte lo siguiente para formatear su código para que sea legible: http://stackoverflow.com/editing-help, pero básicamente solo coloque 4 espacios antes de cada línea de código y luego sangría como lo haría de otra manera, asegurándose de dejar una línea en blanco entre el código y cualquier texto normal. – JoshAdel