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/