Я, по общему признанию, довольно простой программист на Python, пытаюсь учиться, сталкиваясь с проблемами при реализации различных исследовательских задач.И я столкнулся с одной из этих проблем - в частности, с тем, как обрабатывать циклы, когда я возвращаю кучу данных, а не с обычными примерами «из одного числа получается», где вы просто добавляете результат цикла ко всем предыдущим.
Вот суть unlooped-скрипта, который я пытаюсь запустить: https://gist.github.com/1390355
Действительно существенным моментом является конец функции 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
Это возвращает результаты бита интеграции ODE (spi.odeint
) вместе с простым «На каком временном шаге мы находимся?»таймер и, по существу, два столбца значения двух случайных переменных, повторенных много-много раз в виде массива NumPy из 4950 строк и 7 столбцов.бета и гамма), которые имеют случайные значения.По сути, я хочу сделать функцию, которая будет выглядеть примерно так:
def loop_function(runs):
for i in range(runs):
model_solve(100)
# output of those model_solves collected here
# return collected output
Этот собранный вывод будет записан в файл.Обычно, я просто хотел бы, чтобы каждая функция model_solve записывала свои результаты в файл, но этот код будет запускаться на PiCloud или другой платформе, где у меня не обязательно есть возможность записать файл дорезультаты возвращаются на локальную машину.Вместо этого я пытаюсь получить возврат огромного массива NumPy runs
* 7 столбцов и 4950 строк - который затем можно записать в файл на моем локальном компьютере.
Любые подсказки относительно того, какподойти к этому?