Paralléliser Apply() de Pandas avec Swifter

#22 - Un Apply() plus rapide avec Swifter

La bibliothèque Pandas n'a pas de support inhérent pour paralléliser ses opérations. Ainsi, elle s'en tient toujours à un calcul à un seul cœur, même lorsque les autres cœurs sont inactifs.

La situation est encore pire lorsque nous utilisons apply(). Dans la bibliothèque Pandas, apply() n'est rien d'autre qu'une boucle for “améliorée”. Par conséquent, elle ne peut même pas tirer parti de la vectorisation.

Une solution rapide pour paralléliser apply() est d'utiliser swifter à la place.

Swifter nous permet d'appliquer n'importe quelle fonction à un DataFrame Pandas de manière parallélisée. Par conséquent, il offre des gains de performance considérables tout en préservant l'ancienne syntaxe. Il suffit d'utiliser df.swifter.apply au lieu de df.apply.

Plus d'informations ici : documentation de Swifter.

Tu peux consulter également le notebook sur lequel j’ai tiré l’extrait de code ci-dessus en cliquant ici.

Ça t'a plu ? 😎

Connexion ou S'abonner pour participer aux sondages.

Reply

or to participate.