Torne os pandas 3 vezes mais rápidos com os PyPolars
Aprenda como acelerar o fluxo de trabalho do Pandas usando a biblioteca PyPolars.
By Satyam Kumar, Entusiasta de aprendizado de máquina e programador
Foto por Tim Gouw on Unsplash
Pandas é um dos pacotes Python mais importantes entre os cientistas de dados para brincar com os dados. A biblioteca do Pandas é usada principalmente para exploração de dados e visualizações, pois vem com toneladas de funções embutidas. O Pandas não consegue lidar com conjuntos de dados de grande porte, pois não dimensiona ou distribui seu processo por todos os núcleos da CPU.
Para acelerar os cálculos, pode-se utilizar todos os núcleos da CPU e acelerar o fluxo de trabalho. Existem várias bibliotecas de código aberto, incluindo Dask, Vaex, Modin, Pandarallel, PyPolars, etc, que paralelizam os cálculos em vários núcleos da CPU. Neste artigo, discutiremos a implementação e uso da biblioteca PyPolars e compararemos seu desempenho com a biblioteca Pandas.
O que é PyPolars?
PyPolars é uma biblioteca de quadro de dados Python de código aberto semelhante ao Pandas. O PyPolars utiliza todos os núcleos disponíveis da CPU e, portanto, executa os cálculos mais rapidamente do que o Pandas. PyPolars tem uma API semelhante à dos Pandas. Ele é escrito em ferrugem com invólucros Python.
Idealmente, PyPolars é usado quando os dados são muito grandes para Pandas e muito pequenos para Spark
Como funcionam os PyPolars?
A biblioteca PyPolars tem duas APIs, uma é Eager API e a outra é Lazy API. A API Eager é muito semelhante à do Pandas, e os resultados são produzidos logo após a conclusão da execução, de forma semelhante ao Pandas. Lazy API é muito semelhante ao Spark, onde um mapa ou plano é formado na execução de uma consulta. Em seguida, a execução é executada paralelamente em todos os núcleos da CPU.
(Imagem do autor), API PyPolars
PyPolars é basicamente uma ligação python à biblioteca Polars. A melhor parte da biblioteca PyPolars é a semelhança da API com o Pandas, o que torna mais fácil para os desenvolvedores.
Instalação:
O PyPolars pode ser instalado a partir do PyPl usando o seguinte comando:
pip install py-polars
e importe a biblioteca usando
import pypolars as pl
Restrições de tempo de referência:
Para demonstrações, usei um conjunto de dados de grande tamanho (~ 6.4 Gb) com 25 milhões de instâncias.
(Imagem do autor), Número de tempo de referência para operações básicas de Pandas e Py-Polars
Para os números de tempo de referência acima para algumas operações básicas usando a biblioteca Pandas e PyPolars, podemos observar que PyPolars é quase 2x a 3x mais rápido do que Pandas.
Agora sabemos que o PyPolars possui uma API muito semelhante à do Pandas, mas ainda assim não cobre todas as funções do Pandas. Por exemplo, não temos .describe()
função em PyPolars, em vez disso, podemos usar df_pypolars.to_pandas().describe()
Uso:
(Código por Autor)
Conclusão:
Neste artigo, cobrimos uma pequena introdução à biblioteca PyPolars, incluindo sua implementação, uso e comparação de seus números de tempo de referência com Pandas para algumas operações básicas. Observe que o PyPolars funciona de maneira muito semelhante ao do Pandas, e o PyPolars é uma biblioteca com uso eficiente de memória, pois a memória por ele respaldada é imutável.
Pode-se passar pelo documentação para obter uma compreensão detalhada da biblioteca. Existem várias outras bibliotecas de código aberto que podem paralelizar as operações do Pandas e acelerar o processo. Leia o artigo abaixo mencionado para conhecer 4 dessas bibliotecas:
4 Bibliotecas que podem paralelizar o ecossistema Pandas existente
Distribuir a carga de trabalho Python por processamento paralelo usando essas estruturas
Referências:
[1] Documentação da Polars e repositório GitHub: https://github.com/ritchie46/polars
Obrigado por ler
Bio: Satyam Kumar é um entusiasta e programador de aprendizado de máquina. Satyam escreve sobre Data Science e é um dos melhores escritores em IA. Ele está procurando uma carreira desafiadora em uma organização que oferece a oportunidade de capitalizar suas habilidades e habilidades técnicas.
Óptimo estado. Original. Republicado com permissão.
Relacionado:
Histórias principais nos últimos 30 dias
Fonte: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- algoritmos
- Todos os Produtos
- entre
- api
- APIs
- por aí
- artigo
- auto
- referência
- MELHOR
- Livros
- Oportunidades
- carreiras
- código
- dados,
- ciência de dados
- cientista de dados
- Visualização de dados
- acordo
- desenvolvedores
- engenheiro
- etc.
- execução
- GitHub
- guia
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- imagem
- Incluindo
- IT
- grande
- APRENDER
- aprendizagem
- Biblioteca
- aprendizado de máquina
- mapa,
- média
- Microsoft
- Microsoft Research
- milhão
- modelo
- números
- Operações
- Oportunidade
- Outros
- atuação
- Produzido
- Python
- Leitura
- pesquisa
- Resultados
- Ferrugem
- Escala
- Ciência
- Tamanho
- Habilidades
- pequeno
- velocidade
- SQL
- começo
- Histórias
- Dados Técnicos:
- tempo
- toneladas
- topo
- visualização
- de gestão de documentos
- trabalho
- escritor
- X