Découvrir la data science avec Python

Importer du contenu Excel avec pandas

Testez gratuitement nos 1271 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Utilisez la méthode read_excel cette fois-ci pour importer le contenu d'une feuille Excel dans un dataframe.
07:35

Transcription

Si vous regardez la documentation de Pandas et notamment la documentation de l'API, dans l'input/output, vous voyez que, il y a en détail un certain nombre de méthodes qui vont vous permettre de lire et d'écrire toutes sortes de données aussi bien purement du Python, que ce soit du Pickling c'est-à-dire une forme de sérialisation propre à Python, que ce soit du HDFStore, du HDF5, qui est aussi une forme de sérialisation propre à Python sous forme de Pytables qui est beaucoup plus rapide, et que vous allez privilégier si vous avez des volumes importants, et puis des imports-exports, sous forme de Flatfile, d'Excel, de JSON, on en a parlé, SQL… Google BitQuery également, qui est une plate-forme de big data donc pour pouvoir manipuler des données volumineuses qui sont sur des systèmes de stockage distribués donc réellement pour faire de l'analyse de données sur du big data. Et bien entendu vous avez des connecteurs externes pour de l'Hadoop notamment, donc donc on est vraiment dans le monde du big data. Je vais revenir maintenant dans mon exemple, et vous vous souvenez, on va faire quelque chose d'un petit peu plus compliqué, j'ai donc, une feuille Excel. Je vous l'ouvre pour vous montrer à quoi ça ressemble. Donc voilà. J'ai une feuille Excel qui vient d'OpenData, donc il y a 2 onglets. Je vais m'intéresser uniquement au premier, et puis ben vous voyez que c'est pas très très bien formaté pour me simplifier la vie parce que ici, j'ai une zone de données, mais j'ai une zone d'en-tête avec plusieurs lignes des choses qui sont regroupées avec un merge Excel, donc si je veux extraire des données de ceci, je pourrais au préalable reformater la chose mais je vais éviter, comme ça on va essayer de faire ça un peu en Pandas pour voir si c'est possible. Donc, je garde ça de côté, et puis, on va travailler directement avec Pandas. Première chose, je vais récupérer un dataframe. Je vais l'appeler "dfvins", pour nommer les choses un peu correctement. Et puis, je vais utiliser la fonction read_excel. Vous avez en Pandas d'autres méthodes pour ouvrir un fichier Excel sans importer directement les données, ensuite travailler avec, récupérer les données d'un onglet, ici je vais quand même faire directement un import. Donc, évidemment la première chose à faire, c'est de retrouver le nom du fichier, qui s'appelait "2014 2015", voilà, il me l'a trouvé. Et puis on va voir tout simplement ce que ça nous donne. Alors qu'est-ce que j'ai maintenant dans "dfvins" ? C'est déjà pas mal, vous voyez qu'il y a quand même des données, mais si je regarde un peu en haut, il y a des choses qui ne nous intéressent pas beaucoup ici, et je vois que j'ai beaucoup de NaN, NaN voulant dire "Not a Number", bien sûr. "Relevé", ça c'est le titre donc il faudrait quand même que je ne travaille pas avec tout cet en-tête. Donc on va déjà faire ça. On va compter le nombre de lignes qui sont ici, qui sont dans l'en-tête. On voit que on va garder ça, finalement comme l'en-tête, on va commencer à la ligne 13, donc on va faire, évidement, un skiprows des 12 premières lignes. Et on va regarder ce qu'on a. Donc c'est pas mal, je vois que j'ai 83 lignes avec 19 colonnes, donc c'est mon dataframe, il a été découpé ici, on voit que comme on peut pas afficher tout ça, on va le découper comme ça. C'est peut-être d'ailleurs plus intéressant qu'on le voie dans un notebook, donc on va peut-être faire ça, d'ailleurs. Je garde ça, sous le coude. Et puis on va aller travailler dans un notebook. Alors, il faut qu'on importe Pandas. Je reprends ceci. Il faut qu'on aille au bon endroit… Donc je vais faire un cd comme ceci, et ben on va essayer pour voir ce que ça donne. Ça a l'air pas mal. On va simplement faire "dfvins". Et comme vous le voyez, alors, c'est beaucoup mieux de travailler avec un notebook, c'est pour ça que j'ai basculé, maintenant, j'ai une vision tabulaire de mon dataframe qui est complètement intégrée dans le notebook, et qui me permet de voir un tableau. Donc lorsque vous allez travailler avec vos dataframe, et faire de l'analyse de données pour avoir des résultats tabulaires, privilégiez l'usage du notebook, de façon à avoir comme vous le voyez un affichage beaucoup plus sympathique. Vous voyez également que Pandas doit nommer ses colonnes donc ici j'ai blanc, rosé, rouge, parce que si je reviens sur ma source comme ceci, vous voyez que j'ai "département", "déclarants", ok, "déclarants" ici, "département", je ne l'ai pas parce qu'il vient de la ligne précédente, ainsi tout a été utilisé avec un merge. J'ai blanc, rosé rouge et blanc1, rosé1, rouge1 parce que sur cette ligne, eh bien, je n'ai pas l'information qui vient d'ici. Donc, ce que je peux faire, éventuellement c'est renommer la colonne après coup, ce que je vais vous montrer, mais je vais simplifier les choses un peu pour notre démo, je vais dire on va, se contenter de prendre simplement les départements, ici, et puis on va prendre le nombre de déclarants et puis blanc, rosé et rouge, simplement pour les AOP. À ce moment-là, je vais me limiter à mes colonnes de B à F, et c'est tout à fait quelque chose que je peux exprimer ici, donc je vais simplifier aussi ça, je vais le prendre là, je vais le mettre ici, et puis, je vais simplifier mon tableau, en en me disant, je vais me limiter donc, je vais simplement parser les colonnes et dans parse_cols, je vais pouvoir indiquer soit un entier ou une liste d'entiers soit sous forme de chaîne de caractères, eh bien quelque chose qui est tout à fait compréhensible par Excel, c'est-à-dire une rangée de colonnes nommées par leurs lettres. Voilà, on essaie ça, et c'est quand même beaucoup mieux. Donc, j'ai ceci. Donc je vois que j'ai ici une ligne vide, qui est manifestement donc celle-ci, qui ne me sert à rien, et puis, si je descends, je vais voir que j'ai aussi le total, NaN, "Not a Number", donc j'ai quand même quelques lignes également inutiles. Donc, je vais devoir nettoyer ça. Mais juste pour finir sur l'importation, je vais déjà déterminer que mon index, qui est ici, serait plutôt un index de type "texte" et comporterait simplement le nom du département. Donc je vais faire ça, en indiquant ici directement dans l'importation, que l'index "col" est égal à zéro. Dernier essai, c'est pas mal du coup donc j'ai pas de nom ici, je vais corriger ça, mais j'ai déjà un jeu de données avec lequel je vais pouvoir travailler.

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 !