Почему Polars быстрее, чем Pandas
Polars: ооткрытая библиотека для работы с данными, написанная на языке RUST. Предоставляет функционал для выполнения задач аналогичный Pandas, но с более высокой производительностью.
▫️Polars использует все ядра компьютера на системном уровне, в отличие от однопоточного Pandas
▫️В Polars поддерживаются два вида API: eager и lazy. Eager (как в Pandas) — код выполняется сразу, lazy — код выполняется только когда это требуется. Это позволяет снизить нагрузку на память и cpu, что как следствие повышает производительность
▫️В Polars создали собственную реализацию Apache Arrow (формат памяти независимый от языка). В Arrow все столбцы хранятся в непрерывном блоке памяти независимо от типа данных. Это ускоряет поиск данных
▫️Практически любая операция в Polars, может быть выражена в виде метода Polars. Сложные операции в pandas нужно передавать в метод apply в виде лямбда-выражения, который последовательно выполняет операцию на строках. Возможность использовать встроенные методы позволяет работать на уровне столбцов
🐻❄️ Приятный бонус — синтаксис практически идентичен Pandas.
У Polars есть очевидные плюсы в скорости, однако главное преимущество Pandas — это уже выстроенная экосистема. Гораздо большее количество библиотек для DS совместимо с Pandas.
Что почитать:
Статья на Хабр — подробный обзор библиотеки Polars
[ENG] Статья от JetBrains — Polars vs. pandas: What’s the Difference?
[ENG]Polars_cheat_sheet.pdf — сборник команд на Polars
Ставьте ❤️, если уже пробовали Polars)
Post #472
9.26K