Os loops for em pandas são realmente ruins? Quando devo me importar?
Introdução
Embora o pandas seja conhecido por suas operações vetorizadas que aceleram a computação, muitos exemplos de código ainda incluem loops. Embora a documentação sugira evitar a iteração sobre os dados, esta postagem explora cenários em que os loops for oferecem melhor desempenho do que as abordagens vetorizadas. dados pequenos, os loops for podem superar as funções vetorizadas devido à sobrecarga envolvida no tratamento do alinhamento do eixo, tipos de dados mistos e dados ausentes. As compreensões de lista, que empregam mecanismos iterativos otimizados, são ainda mais rápidas. ]
As operações de string em pandas são inerentemente lentas devido ao uso de dtypes de objeto.Compreensões de lista superam significativamente os métodos vetorizados para comparação de strings. .
O mapa tem um desempenho ruim devido à sua dependência de um loop lento baseado implementação.
Operações Regex
As compreensões de lista são geralmente mais rápidas do que str.contains, str.extract e str.extractall "vetorizados" funções.
Para pequenas linhas de DataFrames:
Misto tipos de dados:
A pré-compilação de padrões regex e a iteração com re.search ou re.findall podem melhorar desempenho.
Conclusã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