Polars — Python-библиотека для работы с данными и популярная альтернатива pandas. В версии 2.0 улучшили производительность, расширили поддержку SQL и добавили новый тип данных.
Если подробнее:
🔵Вызовы
collect() к LazyFrame по умолчанию обрабатываются потоковым движком, чтобы снизить потребление памяти и ускорить работу. Это самое большое изменение и главная причина, почему эту версию назвали 2.0: из-за нее часть старых запросов может поломаться. 🔵Обработка данных с выгрузкой на диск (out-of-core processing) будет включаться по умолчанию при использовании более чем 80% оперативной памяти. Сейчас эта возможность доступна для сортировок, оконных функций и некоторых других операций. Для
join и group_by обещают добавить позже. 🔵Polars 2.0 теперь еще лучше работает с SQL и, судя по результатам (почти всех) бенчмарков, обрабатывает запросы быстрее DuckDB и DataFusion.
🔵Добавился новый тип данных
Map — словарь Python, связывающий ключи со значениями. Позволяет получать значение по ключу, проверять наличие ключа, получать список ключей или значений и так далее. В Polars 1.0 для этого приходилось использовать более сложную и неудобную конструкцию.🔵Polars стал строже к ошибкам — он быстрее их вылавливает и сообщает об этом пользователю. По словам разработчиков, это изменению особенно актуально в эпоху ИИ-кодинга.
В общем, новых функций не завезли и главная задача релиза — отказаться от некоторых устаревших решений и сделать Polars быстрее и удобнее без радикальных изменений. Команда проекта надеется, что выпуск версии 2.0 будет для пользователей скучным и пройдет без потрясений, но гайд по переходу на всякий случай подготовила.