На самом деле так работает pandas...
Каждый раз, когда вы читаете, фильтруете, объединяете, группируете или записываете данные, pandas выполняет каждую такую операцию отдельно, и всегда создаёт новый фрейм данных. То есть на каждом шаге он копирует данные обратно в память, подчас тратя больше времени на их перемещение, чем на фактическую обработку.
Это нормально, когда набор данных невелик, но как только вы начинаете связывать несколько шагов воедино, процесс быстро замедляется.
Между тем, Polars работает совершенно по-другому...
По умолчанию он ленив, что означает, что сначала он как бы выполняет все ваши действия, но запускает всё только один раз в конце.
То есть он может просмотреть весь запрос целиком, определить самый быстрый маршрут и пропустить повторную загрузку тех же данных.
Это просто более лучший выбор, когда ваши данные превращаются в БигДату и начинают выходить за рамки допустимого.
А если позже вам всё ещё понадобится панда, вы легко сможете это сделать:
df.to_pandas()Polars is an open-source library for data manipulation, known for being one of the fastest data processing solutions on a single machine. It features a well-structured, typed API that is both expressive and easy to use.