Python pour un data scientist/economist

Lino Galiana

Partie 1: manipuler des données

Le dataframe est l’outil central du logiciel R mais il s’agit d’un objet qui, en Python, ne s’est imposé que récemment, notamment grâce au package pandas. Le concept de dataframe est relativement intuitif et il existe un grand socle d’approches, héritières notamment de la logique SQL, facilitant le maniement de ces données.

pandas est devenu incontournable dans l'écosystème Python pour la data science. pandas est lui-même construit à partir du package numpy, qu’il est utile de comprendre pour être à l’aise avec pandas. numpy est une librairie bas-niveau pour stocker et manipuler des données. numpy est au coeur de l'écosystème de la data science car la plupart des librairies, même celles qui manient des objets destructurés, utilisent des objets construits à partir de numpy.

L’approche pandas a été étendue aux objets géographiques avec geopandas. Il est ainsi possible de manipuler des données géographiques comme s’il s’agissait de données structurées classiques. Les données géographiques et la représentation cartographique deviennent de plus en plus commun avec la multiplication de données ouvertes localisées et de big-data géolocalisées.

Cependant, les données structurées, importées depuis des fichiers plats ne représentent pas l’unique source de données. Les API et le webscraping permettent de requêter ou d’extraire des données de manière très flexible. Ces données, notamment celles obtenues par webscraping nécessitent souvent un peu plus de travail de nettoyage de données, notamment des chaînes de caractère.

Structure de la partie

Dans un premier temps, l’apprentissage des principes de la manipulation des données se fera de la manière suivante:

Ensuite, nous approfondirons différents aspects de la manipulation de données:

Les notebooks d’exercices sont listés ici, visualisables via ou nbviewer ainsi que dans les différents environnements prêts à l’emploi mis à disposition Onyxia Binder Open In Colab

Pour aller plus loin

Ce cours n’aborde pas encore les questions de volumétrie ou de vitesse de calcul. pandas peut montrer ses limites dans ce domaine.

Il est ainsi intéressant de porter attention à:

  • Le livre Modern Pandas pour obtenir des éléments supplémentaires sur la question de la performance avec pandas
  • La question des objets sparse
  • Le package dask pour accélérer les calculs
  • pySpark pour des données très volumineuses
Last updated on 15 Sep 2020
Published on 16 Jul 2020
Edit on GitHub