Découvrir la data science avec Python

Comprendre le dataframe

Testez gratuitement nos 1309 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Abordez le dataframe qui est un tableau de lignes et de colonnes nommées et indexées. Ainsi vous pourrez manipuler des structures de données très riches.
08:00

Transcription

Parlons maintenant du dataframe. En fait c'est très simple. Si vous voulez vous représenter un dataframe, pensez à une table dans une base de données SQL. Une table a des lignes et des colonnes ; une clé primaire en général ; on pourrait dire qui indexe les valeurs de chaque ligne, et puis, des colonnes qui sont nommées. Chaque colonne a un nom. Eh bien, vous avez exactement un dataframe. Votre dataframe a un index, des colonnes, et des lignes. Les colonnes sont nommées. Chaque ligne est référencée par son index, donc vous avez une sorte de tableau, on pourrait dire de dictionnaire où la valeur du dictionnaire, c'est-à-dire que vous avez un index, une clé et puis une valeur, la valeur c'est une liste de colonnes. C'est tout simple, c'est très souple, et c'est ce qui va permettre à Pandas de pouvoir stocker des données et les analyser très puissamment. a Alors, on va très facilement se créer un dataframe à partir de notre ndarray, ici. Donc vous vous souvenez, on a des départements, et des nombres de déclarations de viticulteurs. On a le département et les déclarations, c'est le nom de notre structure de tableau, ici. Et je vais utiliser la méthode dataframe de Pandas pour générer un dataframe à partir de quelque chose en paramètre. Ce quelque chose, ce peut être un dictionnaire Python, des tups, une liste de per clé-valeur, ça peut être beaucoup de choses. Donc c'est très très souple, également. Et ça peut être, simplement, mon ndarray. On essaie, hein, juste pour voir. Qu'est-ce que j'obtiens ? Ici, un indexeur et deux colonnes. Donc j'ai une sorte de tableau. Ici on pourrait dire une clé primaire, voilà, en premier, ensuite, la valeur du département, la valeur du déclarant. Ok, bon, pourquoi pas, je prends ça et je le mets dans une variable, je l'affecte à une variable qui sera donc une variable de type dataframe et quand je regarde ma variable, eh bien, pas de surprise, j'ai bien le contenu. Voilà. J'ai un simple dataframe avec deux colonnes. Bon je vais peut-être me dire, « C'est sympa mais, je pourrais faire le département comme index, il a une valeur unique, et puis je vais chercher sur le département. » Pas de problème. On a un dataframe qui est très souple, donc je vais utiliser sa méthode setindex pour prendre une colonne et comme les colonnes sont nommées, je peux les mentionner par leurs noms, ici, "département", pour dire, « eh bien voilà, le département fait office d'index. » Alors attention, j'ai fait un setindex, même si la méthode s'appelle set, elle va pas modifier par défaut l'objet sur laquelle elle s'exécute. Si je regarde de nouveau mon "declar", rien n'a changé. Alors ce que je peux faire avec mon setindex, c'est soit utiliser un paramètre qui s'appelle inplace, et le mettre à TRUE… soit, eh bien réaffecter la valeur du résultat à la variable. Donc maintenant, Ok, tout va bien. Alors j'aurais pu faire la même chose lorsque j'ai créé un peu plus tôt… c'était ici, mon dataframe, j'ai pris mon ndarray, je peux ajouter quelques paramètres, notamment je peux choisir les colonnes. Voilà. Et je peux choisir un tableau de colonnes. Bon là j'en ai qu'une donc c'est pas très pratique. Mais je peux dire, je prends la colonne "declar", virgule, une autre colonne… dans l'ordre que je veux, bien sûr, et puis ensuite, je peux également, c'est optionnel, indiquer quel est l'index que je vais utiliser. Et là, je vais reprendre à partir de a, le département, comme ceci, et donc, eh bien j'ai à peu près la même chose qu'avant, j'aurais pu le faire également de cette façon. Eh bien voilà j'ai un dataframe, qu'est-ce que je peux faire avec ? Plein plein de choses. Au minimum, je peux regarder par exemple, ses cinq premières valeurs. En faisant un head. En faisant un tail, je regarde un peu ce qu'il a à la fin. Et puis, je peux récupérer la liste de ses valeurs, c'est-à-dire voir, finalement, le ndarray sous-jacent. Ici je n'ai qu'une colonne, donc pour chaque ligne, je n'ai qu'une valeur, mais j'aurais un tableau multidimensionnel, si j'avais plusieurs colonnes. Donc finalement on stocke, de façon sous-jacente, ceci, en un ndarray multidimensionnel. Je peux voir les valeurs d'index sous forme de tableau d'index, ok bon facile, je peux voir la liste de mes colonnes. Et donc là, j'en ai qu'une, c'est pas très très rigolo. Et puis bien entendu, je peux référencer une cellule. Alors je peux référencer une colonne. Et retourner, finalement le tableau à une dimension qui est cette colonne. Par exemple, en le référençant tout simplement comme ceci, voici la liste de mes déclarations avec, eh bien l'index qui va avec, et puis, je peux référencer, donc, pour une colonne eh bien une valeur d'index, ce qui va me donner une cellule. Alors j'ai deux façons de le faire. Soit je fais un iloc, soit je fais un loc. Donc loc, vous avez deviné, c'est pour la localisation. C'est pour localiser une ligne. Par contre la différence, c'est que loc, nous permet de localiser avec la valeur de l'index, par exemple le département nº1, et donc, si on se souvient bien, pour le département nº1, il y a 468 déclarants, ce qui est le cas. Mais je vous montre iloc… Vous verrez tout de suite la différence. 422. Pourquoi ? Parce que c'est la deuxième position. Iloc est la valeur on pourrait dire numérique interne de l'index du tableau. Donc ça commence à zéro, on est en base zéro. Donc iloc 0, c'est ceci, iloc 1, c'est ceci… et ça ne prend pas en compte la valeur "nominale" on pourrait dire de l'index, mais ça prend en compte l'index interne du tableau. Donc je peux avoir soit une localisation par sa position physique, si vous voulez dans le tableau, ou bien, en cherchant sur la valeur de l'index avec un loc. Donc loc, valeur de l'index, iloc, position index du tableau lui-même. Et donc notre dataframe maintenant est tout à fait manipulable. Je peux ajouter des lignes en faisant un insert, c'est un peu comme dans du SQL. Je peux également ajouter des colonnes alors très simplement par exemple, je vais dire la colonne "moitié", donc on est d'accord elle n'existe pas, eh bien, je vais lui attribuer une valeur et ça va la créer. Eh bien je vais prendre declar mes "déclarations". Alors, on est d'accord, ce que je suis en train de faire ne sert absolument à rien, mais bon. Et je vais dire, « je prends la valeur de la déclaration, je divise par deux, » et donc ici je vais avoir un traitement qui va être un traitement sur chaque élément du tableau, bien entendu, ça va être un calcul sur le vecteur tout entier et eh bien qu'est-ce que j'ai maintenant ? Un dataframe qui a l'index, une première colonne et une deuxième colonne qui a été calculée mais qui a été générée qui a été stockée dans le dataframe en faisant un calcul sur, eh bien chaque valeur déjà présente sur la même ligne. Donc voilà la souplesse et la puissance du dataframe qui va vous permettre avec Pandas, de stocker, de manipuler des données pour en faire l'analyse.

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
Date de parution :25 août 2016

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 !