[Python-es] Almacenado de datos
José Sabater Montes
jsm en iaa.es
Mar Feb 28 11:29:03 CET 2012
El 28/02/2012, a las 00:08, Daπid escribió:
> 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.
Hola,
En cuatro líneas usando numpy:
# Importamos numpy:
import numpy
# Leemos los datos del "fichero" en un array llamado r
# Tener en cuenta que lee todo como float
r = numpy.loadtxt("fichero")
# Iteramos sobre los valores distintos de la primera columna
for C in numpy.unique(r[:,0]):
# Pintamos el valor de la primera columna (pasándolo a entero) y
# la media de los valores de la segunda columna para las filas
# correspondientes a dicho valor de la primera columna
print int(C), r[:,1][r[:,0] == C].mean()
Un saludo,
Pepe
Más información sobre la lista de distribución Python-es