El Martes, 28 de Febrero de 2012 a las 08:36, Kiko escribió: > >> On 28/02/2012 1:08, Daπid wrote: > >> > >> Hola: > >> > >> Estoy haciendo unas simulaciones de Monte Carlo para estudiar la > >> variación de un parámetro en función de otro u otros dos. En total, > >> tengo del orden de mil o diez mil datos. ¿Cuál es la forma más > >> sencilla de almacenarlos y recuperarlos? > >> > >> Intentaré explicarme mejor con un ejemplo. Ahora mismo tengo un > >> fichero de texto plano así: > >> > >> 1000 0.363815214388 > >> 1000 0.359016260729 > >> 1151 0.38896507684 > >> 1151 0.388929158895 > >> 1151 0.388769658166 > >> > >> Donde la primera columna es N y la segunda, C. Quiero, por ejemplo, > >> poder obtener la media de cada valor de C para cada N. Por supuesto, > >> programarlo a mano es fácil, pero estoy seguro de que hay algo mejor.
mmm usar una base de datos para mil o diez mil datos de este tipo me parece exagerado. La forma *mas sencilla* para almacenarlos y recuperarlos me sigue pareciendo un archivo ascii. Como mucho reordenando para facilitar el parseo tipo 1000 0.363815214388 0.359016260729 1151 0.38896507684 0.388929158895 0.388769658166 o 1000 1150 ... 0.363815214388 0.359016260729 0.38896507684 0.388929158895 0.388769658166 de forma que la primera fila te da el N de la fila N. De esta forma podrías cargarlos directamente del fichero a una matriz de numpy por ejemplo con data=numpy.loadtxt[1], donde data[0][i] te daría el N de la fila i+1. Luego podrías hacer estadística sobre las filas también directamente con las rutinas de estadística de numpy[2]. Ojo si tienes distinto número de datos por fila, tendrías que rellenarlos con numpy.NaN o algo así, o usar genfromtxt, pero cuidado con el significado de "missing values" en él. Iñigo [1]http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html [2]http://docs.scipy.org/doc/numpy/reference/routines.statistics.html > >> > >> > >> ¡Gracias! > >> > >> NetCDF/HDF. Supuestamente, con pytables [1] el acceso podría ser más > > rápido que usando una BBDD y el espacio que ocupa también es inferior o > debería serlo [2]. > > Como dijo Lasizoillo en algún otro hilo de alguna lista, podría verse > como una BBDD NoSQL. > > [1] http://www.pytables.org/moin > [2] http://pytables.org/EuroSciPy2010/HighlyEfficientComputations.pdf _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/