Эффективные способы записи большого массива NumPy в файл

В настоящее время у меня есть проект, работающий на PiCloud, который включает несколько итераций ODE Solver. Каждая итерация создает массив NumPy примерно из 30 строк и 1500 столбцов, причем каждая итерация добавляется в конец массива предыдущих результатов.

Обычно я просто позволял функции возвращать эти довольно большие массивы, хранить их в памяти и обрабатывать их все одновременно. За исключением PiCloud имеет довольно жесткие ограничения на размер данных, которые могут быть возвращены функцией, чтобы снизить затраты на передачу. Это нормально, но это означает, что мне придется запускать тысячи заданий, каждое из которых выполняется на итерации, со значительными накладными расходами.

Похоже, что лучшее решение для этого - записать вывод в файл, а затем собрать файл с помощью другой функции, которая у них есть, без ограничения на передачу.

Лучше всего сделать это, просто скопировав его в файл CSV? Должен ли я добавлять в файл CSV каждую итерацию или хранить все это в массиве до конца, а затем просто писать один раз? Мне не хватает чего-то ужасно умного?

6
задан bmu 20 April 2012 в 17:20
поделиться