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
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a