Olá, pessoal!
Estou pesquisando sobre o Polars e o Pandas e cheguei a uma ideia que gostaria de compartilhar para saber a opinião de vocês.
Minha pesquisa mostra que o Polars é significativamente mais rápido e eficiente para grandes volumes de dados, usando multi-threading e um backend em Rust, o que o torna ideal para a parte pesada de ETL. Por outro lado, o Pandas ainda tem a vantagem de ser amplamente compatível com o ecossistema Python, especialmente com bibliotecas de machine learning como scikit-learn e visualização como Matplotlib e Seaborn.
Com base nisso, estou pensando em uma abordagem híbrida:
Usar o Polars para a parte de ETL, lidando com a extração, transformações complexas e agregações pesadas.
Converter o DataFrame do Polars para Pandas apenas no final do processo, para as etapas que dependem dessas bibliotecas mais antigas.
Minha principal dúvida é se essa estratégia faz sentido na prática. O custo de conversão entre os DataFrames não anularia o ganho de performance do Polars? Li que com o Pandas 2.0 e o Apache Arrow é possível fazer uma conversão "zero-copy", mas essa otimização é sempre garantida?
Essa abordagem me parece um bom meio-termo para quem quer aproveitar a velocidade do Polars sem abrir mão da compatibilidade. O que vocês acham? É uma boa prática ou há alguma armadilha que estou perdendo?