Recogida de resultados de un bucle que devuelve matrices NumPy

Soy un programador de Python bastante básico, tratando de aprender a medida que encuentro problemas para implementar varios problemas de investigación. Y me he encontrado con uno de esos problemas, en particular, cómo manejar los bucles en los que estoy devolviendo un montón de datos, en lugar de los ejemplos habituales de "sale un solo número" en el que simplemente agregas el resultado del bucle a todo lo anterior .

Aquí hay un resumen de la secuencia de comandos no enlazada que intento ejecutar:https: //gist.github.com/139035

l punto realmente destacado es el final de la función model_solve:

def model_solve(t):
    # lots of variables set
    params = np.zeroes((n_steps,n_params)
    params[:,0] = beta
    params[:,1] = gamma
    timer = np.arange(n_steps).reshape(n_steps,1)
    SIR = spi.odeint(eq_system, startPop, t_interval)
    output = np.hstack((timer,SIR,params))
    return output

Eso devuelve los resultados del bit de integración ODE spi.odeint) junto con un simple "¿A qué hora estamos?" temporizador y esencialmente dos columnas del valor de dos variables aleatorias repetidas muchas, muchas veces en forma de 4950 filas y 7 columnas NumPy array.

Sin embargo, el objetivo es ejecutar un análisis de Monte Carlo de los dos parámetros (beta y gamma) que tienen valores aleatorios. Esencialmente, quiero hacer una función que se repita algo así:

def loop_function(runs):
  for i in range(runs):
    model_solve(100)
    # output of those model_solves collected here
  # return collected output

Esa salida recopilada se escribiría en un archivo. Normalmente, solo haría que cada función model_solve escriba sus resultados en un archivo, pero este código se ejecutará en PiCloud u otra plataforma donde no necesariamente tengo la capacidad de escribir un archivo hasta que los resultados se devuelvan a la máquina local. En cambio, estoy tratando de obtener un retorno de una gran matriz NumPy deruns * 7 columnas y 4950 filas, que luego se pueden escribir en un archivo en mi máquina local.

¿Alguna pista sobre cómo abordar esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta