Découvrir la data science avec Python

Créer un index multiple

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Il est temps pour vous de voir comment modifier l'index de votre dataframe pour ajouter une indexation multiple à l'aide de deux valeurs.
06:21

Transcription

Comme exemple un petit peu plus poussé de travail qu'on peut faire avec le dataframe, on va voir quelque chose qui correspond finalement à ce qu'on fait aussi dans des bases de données relationnelles avec des groupby. Donc on peut faire des regroupements en fait, on peut séparer notre dataframe en sous-ensembles et ensuite, appliquer des choses à ces sous-ensembles. Donc c'est assez puissant. Je vais vous montrer juste un exemple simple de ça. Je vais d'abord commenter mon apply, qui a pas beaucoup d'intérêt maintenant, et puis, eh ben on va se dire, d'abord, que nous avons un dataframe, ça on est au courant, et puis on a 1 niveau d'index. C'est-à-dire que l'index, c'est juste une valeur. On peut faire plusieurs niveaux d'index. Je peux indexer, une forme de multi-index, à autant de niveaux que je veux de façon à pouvoir faire différents regroupements sur les données, ou analyser à partir de sous-index, si vous voulez--bon, je vais vous montrer un exemple assez simple. On va dire qu'on voudrait aussi pouvoir indexer sur la première lettre du nom du département. C'est pas très intéressant mais bon, on va prendre ça comme exemple. Comment est-ce que j'obtiens, d'ailleurs, l'index lui-même ? Facile : Dans notre dataframe, on a un objet "index". Et puis je pourrais regarder par exemple ses... valeurs. Donc voilà un tableau des valeurs de mon index. Je pourrais, vous l'avez vu, faire un value counts aussi pour savoir combien j'en ai. Et là, j'ai de toutes façons une méthode donc il faut que je l'envoie avec des paramètres, voilà. Et, combien j'ai de valeurs d'index uniques. Donc voilà, vous pouvez travailler directement avec finalement l'objet index. Cet objet index, je peux le récupérer comme une str Python. Et si je fais ça, donc là, ça va pas donner grand chose mais je vois que je suis maintenant dans des string. Et le string, y'a un certain nombre de méthodes Python par exemple je peux faire un get, et, je vais faire un get du premier caractère de la string. Et vous voyez j'ai un certain nombre de "A", il y a l'Ain, l'Aisne, etc. et je suis plus ou moins par ordre alphabétique, c'est comme ça que les numéros de départements étaient organisés. Que faire avec ça ? Eh bien pourquoi je ne créerais pas simplement une colonne supplémentaire ? qui comporte cette valeur. Ben, c'est très simple alors, vous savez comment créer une colonne supplémentaire, on va faire quelque chose comme ça. Et... Ici, je vais dire "lettre". Et on va voir ce que ça donne dans notre dataframe, voilà la lettre. Et cette lettre maintenant, bien sûr je voudrais l'intégrer dans mon index, évidement. Ce que je vais faire d'abord, pour être un peu plus propre, c'est nommer l'index existant parce que pour l'instant il n'a pas vraiment de nom, et si je veux travailler avec plusieurs niveaux d'index ça peut être intéressant de les nommer pour pouvoir y faire référence. Donc, je vais dire "index", ensuite name, et vous voyez qu'il y a name et names, si mon index a plusieurs niveaux. Donc je vais prendre name, pour l'instant il en a qu'un, hein, j'ai pas ajouté ceci dans l'index et je vais dire qu'il s'appelle "département". On va voir d'ailleurs le résultat. Vous voyez bien ceci, je n'ai pas particulièrement de nom ici, mais si j'ajoute un nom d'index; je vais avoir quelque chose comme ceci, vous voyez, qui a un niveau supplémentaire, il est pas indiqué spécifiquement ici, parce que finalement, l'index c'est l'index, mais par contre, si on a plusieurs niveaux, on aura ici le nom de l'index du premier niveau, etc. c'est pour ça qu'il est légèrement en dessous. Et maintenant, eh bien je voudrais rajouter à mon index, une colonne supplémentaire qui est la lettre. Alors, je vais utiliser la méthode setindex. Alors il faut savoir que l'index, et les valeurs d'index sont immutables, donc ce qu'on va faire, c'est qu'on fait un setindex, on pourrait créer un deuxième dataframe, ça pourrait être intéressant pour pouvoir travailler sur les deux. Bon, ça dépend de la taille et de votre dataframe, on travaille parfois avec des dataframe très très volumineux qui prennent beaucoup de place en mémoire, donc Pandas est relativement optimisé pour prendre moins de place que des collections Python traditionnelles, hein, c'est pour ça qu'on utilise Numpai ou Pandas. Ou bien je peux faire une modification inplace, qui va reconstruire le dataframe avec son index. Donc je vais faire un setindex, et puis, je vais spécifier que je veux quelque chose qui soit inplace à TRUE. Et qu'est-ce que je vais faire ? Eh bien, en premier paramètre je vais dire « tu me rajoutes une ou plusieurs colonnes. » Donc je pourrais faire un tableau mais là j'en ai qu'une à ajouter, donc je dis la colonne "lettre" telle que je l'ai nommée ici, bien sûr. Si je ne dis rien je remplace l'index, finalement. Là je vais dire « non non non, je veux pas remplacer, je veux ajouter » donc je vais faire un append à TRUE. Et je vais lui dire « ben rajoute-moi ce niveau d'indexation ». Et on va voir ce que ça donne. Et voilà, donc au niveau de l'index vous voyez ici, j'ai le département et la lettre, ce qui fait que j'ai une double indexation. Alors, si je fais ma somme, maintenant. Sans aucune indication, eh bien, j'ai une somme sur la totalité de mon index. Mais je vais pouvoir indiquer maintenant des niveaux. Si par exemple je fais une somme sur le niveau zéro, je vais avoir des sommes par rapport à l'Ain, l'Aisne, l'Allier, bon bref, en fait pas grand chose de plus que si je ne fais pas de somme, mais si je prends mon niveau 1, qui est donc la lettre par contre, j'ai une somme maintenant sur tous les départements qui commencent par "A". Donc je vais pouvoir manipuler mon multi-index, si vous voulez, mes différents niveaux d'index pour pouvoir récupérer des informations regroupées par l'index que je souhaite.

Découvrir la data science avec Python

Prenez en main les outils utilisés pour la data science avec Python, d'un point de vue technique. Pour cela, explorez les deux bibliothèques importantes, NumPy et Pandas.

2h16 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Votre/vos formateur(s) :
Date de parution :25 août 2016
Durée :2h16 (25 vidéos)

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !