Se você tem acompanhado os desenvolvimentos recentes do Python, provavelmente já ouviu falar da Polars, uma nova biblioteca para trabalhar com dados. Embora pandas seja a biblioteca preferida há muito tempo, Polars está fazendo barulho, especialmente para lidar com grandes conjuntos de dados. Então, qual é o problema com os Polars? Como é diferente dos pandas? Vamos decompô-lo.
Polars é uma biblioteca gratuita e de código aberto construída em Rust (uma linguagem de programação rápida e moderna). Ele foi projetado para ajudar os desenvolvedores Python a lidar com dados de maneira mais rápida e eficiente. Pense nisso como uma alternativa aos pandas, que brilha quando você trabalha com conjuntos de dados realmente grandes com os quais os pandas podem ter dificuldades.
O Pandas existe há anos e muitas pessoas ainda adoram usá-lo. Mas à medida que os dados se tornaram maiores e mais complexos, os pandas começaram a mostrar algumas fraquezas. Ritchie Vink, o criador do Polars, percebeu esses problemas e decidiu criar algo mais rápido e eficiente. Até mesmo Wes McKinney, o criador dos pandas, admitiu em uma postagem de blog intitulada "10 coisas que eu odeio nos pandas" que os pandas poderiam ser melhorados, especialmente com grandes conjuntos de dados.
É aí que entra o Polars, ele foi projetado para ser extremamente rápido e eficiente em termos de memória, duas coisas com as quais os pandas lutam ao lidar com big data.
Polars é muito rápido. Na verdade, alguns benchmarks mostram que os Polars podem ser até 5–10 vezes mais rápidos do que os pandas ao realizar operações comuns, como filtrar ou agrupar dados. Essa diferença de velocidade é especialmente perceptível quando você trabalha com grandes conjuntos de dados.
Polars é muito mais eficiente quando se trata de memória. Ele usa cerca de 5 a 10 vezes menos memória do que pandas, o que significa que você pode trabalhar com conjuntos de dados muito maiores sem ter problemas de memória.
Polars usa algo chamado execução lenta, o que significa que ele não executa imediatamente cada operação conforme você a escreve. Em vez disso, ele espera até que você tenha escrito uma série de operações e depois as executa todas de uma vez. Isso ajuda a otimizar e executar as coisas com mais rapidez. O Pandas, por outro lado, executa todas as operações imediatamente, o que pode ser mais lento para tarefas grandes.
Polars pode usar vários núcleos de CPU ao mesmo tempo para processar dados, o que o torna ainda mais rápido para grandes conjuntos de dados. O Pandas é basicamente de thread único, o que significa que ele só pode usar um núcleo de CPU por vez, o que torna as coisas mais lentas, especialmente com grandes conjuntos de dados.
Polars é rápido por alguns motivos:
Esta combinação de Rust e Apache Arrow dá ao Polars uma vantagem sobre os pandas quando se trata de velocidade e uso de memória.
Embora o Polars seja ótimo para big data, o pandas ainda tem seu lugar. O Pandas funciona muito bem com conjuntos de dados de pequeno a médio porte e existe há tanto tempo que tem muitos recursos e uma enorme comunidade. Portanto, se você não estiver trabalhando com grandes conjuntos de dados, os pandas ainda podem ser sua melhor opção.
No entanto, à medida que seus conjuntos de dados aumentam, os pandas tendem a usar mais memória e ficam mais lentos, tornando o Polars uma escolha melhor nessas situações.
Você deve considerar usar Polars se:
Tanto os polares quanto os pandas têm seus pontos fortes. Se você estiver trabalhando com conjuntos de dados pequenos e médios, o pandas ainda é uma ótima ferramenta. Mas se você está lidando com grandes conjuntos de dados e precisa de algo mais rápido e com mais eficiência de memória, definitivamente vale a pena experimentar o Polars. Seus aumentos de desempenho, graças ao Rust e ao Apache Arrow, tornam-no uma opção fantástica para tarefas com uso intensivo de dados.
À medida que o Python continua a evoluir, o Polars pode se tornar a nova ferramenta goto para lidar com big data.
Boa codificação? ?
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3