У меня есть вопрос, связанный со скоростью/эффективностью, о python:
Мне нужно написать большое количество очень больших файлов данных R, размером около 0,5-2 ГБ. По сути, это большая таблица, разделенная табуляцией, где каждая строка может содержать числа с плавающей запятой, целые числа и строки.
Обычно я просто помещал все свои данные в пустой фрейм данных и использовал np.savetxt для их сохранения, но, поскольку существуют разные типы данных, их нельзя поместить в один массив.
Поэтому я прибегал к простой сборке строк вручную, но это немного медленно. Пока делаю:
1) Собрать каждую строку как строку 2) Объединить все строки в одну огромную строку 3) Записать строку в файл
У меня есть несколько проблем с этим: 1) большое количество конкатенаций строк занимает много времени 2) я использую ОЗУ, чтобы хранить строки в памяти 3) ... что, в свою очередь, приводит к большему количеству отдельных файлов. запись команды, которые также очень медленные.
Итак, мой вопрос: что такое хорошая рутина для такого рода проблем? Тот, который уравновешивает скорость и потребление памяти для наиболее эффективной конкатенации строк и записи на диск.
... а может быть, эта стратегия просто плохая и я должен сделать что-то совсем другое?
Заранее спасибо!