Python pour la data science ![](https://cdn.simpleicons.org/python/00ccff99)
![build-doc Actions Status](https://github.com/linogaliana/python-datascientist/actions/workflows/prod.yml/badge.svg)
![Onyxia](https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&color=yellow?logo=Python)
![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)
![DOI](https://zenodo.org/badge/280161677.svg)
Ce dépôt Github
stocke les fichiers sources ayant permis de construire le site
https://pythonds.linogaliana.fr/.
Il s'agit de l'ensemble du cours Python pour la data science
que je donne en deuxième année (Master 1) de l'ENSAE.
Syllabus
Le syllabus est disponible sur le site de l'ENSAE et sur le site web du cours.
Globalement, il propose un contenu très complet pouvant autant
satisfaire des débutants en
data science que des personnes à la recherche de contenu plus avancé :
- Manipulation de données : manipulation de données standards (
Pandas
), données géographiques (Geopandas
), récupération de données (webscraping, API)...
- Visualisation de données : visualisations classiques (
Matplotlib
, Seaborn
), cartographie, visualisations réactives (Plotly
, Folium
)
- Modélisation : machine learning (
Scikit
), économétrie
- Traitement de données textuelles (NLP): découverte de la tokenisation avec
NLTK
et SpaCy
, modélisation...
- Introduction à la data science moderne : cloud computing,
ElasticSearch
, intégration continue...
L'ensemble du contenu de ce site s'appuie sur des données
ouvertes, qu'il s'agisse de données françaises (principalement
issues de la plateforme
centralisatrice data.gouv
ou du site
web de l'Insee) ou de données
américaines.
Un bon complément du contenu du site web est le cours que nous donnons avec Romain Avouac (@avouacr) en dernière année de l'ENSAE plus tourné autour de la mise en production de projets data science : https://ensae-reproductibilite.github.io/website/
Tester les codes Python
Il est possible d'utiliser une installation personnelle de `Python` ou
des serveurs partagés. Sur le site web, une série de boutons sont mis
à disposition pour faciliter les tests des exemples sur des
notebooks `Jupyter` dans la configuration qui vous sied le mieux.
Voici, par exemple, ces boutons pour le tutoriel numpy
![Onyxia](https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&color=yellow?logo=Python)
Utilisation de l'image Docker
[![Docker Pulls](https://img.shields.io/docker/pulls/linogaliana/python-datascientist)](https://hub.docker.com/repository/docker/linogaliana/python-datascientist/general)
Pour améliorer la reproductibilité des exemples, une image `Docker` est
automatiquement construite et mise à disposition depuis
[DockerHub](https://hub.docker.com/repository/docker/linogaliana/python-datascientist).
Construction du site web
Le site est construit de manière automatique grâce à [`Quarto`](https://quarto.org/)
à partir d'un environnement conteneurisé [`Docker`](https://hub.docker.com/repository/docker/linogaliana/python-datascientist/general)
La reproductibilité des exemples et des exercices est testée avec
`Github Actions` ([![build-doc Actions Status](https://github.com/linogaliana/python-datascientist/actions/workflows/prod.yml/badge.svg)](https://github.com/linogaliana/python-datascientist/actions)).
Les _notebooks_ sont générés de manière à être cohérente avec le site web
et sont maintenant stockés sur un [dépôt à part](https://github.com/linogaliana/python-datascientist-notebooks).
L'environnement `Conda` nécessaire pour faire tourner l'ensemble du
cours est disponible dans un fichier [`environment.yml`](https://github.com/linogaliana/python-datascientist-docker/blob/master/environment.yml).
Il est recommandé d'utiliser la `conda-forge` afin de bénéficier de versions
récentes des packages.