Les boucles for dans les pandas sont-elles vraiment mauvaises ? Quand dois-je m'en soucier ?
Introduction
Bien que pandas soit connu pour ses opérations vectorisées qui accélèrent le calcul, de nombreux exemples de code incluent toujours des boucles. Bien que la documentation suggère d'éviter les itérations sur les données, cet article explore des scénarios dans lesquels les boucles for offrent de meilleures performances que les approches vectorisées.
Itération vs. Vectorisation sur petites données
Pour petites données, les boucles for peuvent surpasser les fonctions vectorisées en raison de la surcharge impliquée dans la gestion par ces dernières de l'alignement des axes, des types de données mixtes et des données manquantes. Les compréhensions de listes, qui utilisent des mécanismes itératifs optimisés, sont encore plus rapides.
Opérations avec des types mixtes/objets
Comparaison basée sur des chaînes :
Accès aux éléments de dictionnaire/liste :
Opérations Regex
Quand envisager les boucles for
Pour les petites lignes de DataFrames :
Mixte types de données :
Expressions régulières :
Conclusion
Bien que les fonctions vectorisées offrent simplicité et lisibilité, il est important d'envisager des solutions basées sur des boucles dans des scénarios spécifiques. Des tests minutieux sont recommandés pour déterminer l’approche la plus appropriée à vos exigences de performances.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3