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:
- Une introduction à numpy pour découvrir et pratiquer la manipulation de données avec python ;
- Des éléments sur pandas et un exercice complet pour pratiquer pandas.
Ensuite, nous approfondirons différents aspects de la manipulation de données:
- Présentation du traitement des données spatiales et pratique de geopandas
- Pratique du webscraping
- Pratique du nettoyage de données textuelles
- Pratique du requêtage par les API
Les notebooks d’exercices sont listés ici, visualisables
via
ou
ainsi que dans les différents environnements prêts à l’emploi mis à
disposition
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