Vincent | Objectif Data Science Profile picture
J'aide ceux qui se forment à la #datascience, au #machinelearning, et à l'#ia. Pour cela, j'écris ici des threads, et des articles sur mon blog (très bientôt)

Jul 5, 2022, 9 tweets

Les INDEX sous #Pandas sont souvent incompris et mal utilisés

Ils sont pourtant d'une grande aide, surtout si on a besoin de performance avec des dataframes volumineux

L'idée principale est qu'ils vous apporteront de la performance s'ils sont UNIQUES

> Illustration

1/ Sélection de lignes d'un df sans faire appel à l'index

Sur un df de 10.000 éléments, la recherche d'une ligne sans faire appel à l'index prend 373 µs (sur mon laptop)

2/ Sélection de lignes d'un df avec appel à l'index

Sur un df de 10.000 éléments, la recherche d'une ligne en utilisant l'index prend 60 µs

Soit un facteur 6 entre les 2 méthodes

3/ Sélection de lignes d'un df avec appel à l'index contenant des doublons

Ici le df n'est pas trié suivant l'index

Sur un df de 10.000 éléments, la recherche d'une ligne en utilisant l'index prend 100 µs

Même test, mais cette fois ci en triant le df suivant l'index

On obtient quasiment les mêmes résultats

4/ Sélection de lignes d'un df avec appel à l'index et dataframe non trié par l'index

Ici le df n'est pas trié suivant l'index

Sur un df de 10.000 éléments, la recherche d'une ligne en utilisant l'index prend 60 µs, soit le même ordre de grandeur qu'avec un df trié

En résumé, pour tirer le maximum des index en terme de performance, faites en sorte qu'ils soient uniques

Dans ce cas, Pandas construira une table de hashage qui rendra la recherche via cet index performante

J'ai mis à votre disposition un guide gratuit sur Pandas si cela vous intéresse

Vous l'avez à cette adresse

objectifdatascience.com

Je viens de me rendre compte que je n'ai pas changé la ligne de commentaire au début de chaque screen de code

Sorry si cela porte à confusion !

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling