У меня есть pandas DataFrame, который я хочу часто запрашивать (в ray через API). Я пытаюсь ускорить его загрузку, но требуется значительное время (3+ с), чтобы поместить его в pandas. Для большинства моих наборов данных это быстро, а вот этот - нет. Я предполагаю, что это потому, что 90% из них - строки.
[742461 rows x 248 columns]
Это примерно 137 МБ на диске. Чтобы исключить скорость диска как фактор, я поместил файл .parq в монтирование tmpfs.
Теперь я попробовал:
- Чтение паркета с помощью pyArrow Parquet (read_table) а затем приведение его к pandas (чтение в таблицу происходит немедленно, но использование to_ pandas занимает 3 секунды)
- Играет практически со всеми настройками to_ pandas, которые я могу придумать в pyarrow / parquet
- Чтение с помощью pd.from_parquet
- Чтение из хранилища памяти Plasma (https://arrow.apache.org/docs/python/plasma.html) и преобразование в pandas. Опять же, чтение происходит немедленно, но для_ pandas требуется время.
- Преобразование всех строк в категории
У каждого есть хорошие советы, как ускорить преобразование pandas при работе с струны? У меня много ядер и оперативной памяти.
Мои конечные результаты хотят быть pandas DataFrame, поэтому я не привязан к формату файла parquet, хотя он обычно мой любимый.
С уважением, Никлас