# Analyser des données avec Python

{% hint style="info" %}
Python est un langage de programmation :

* **interprété** (lorsqu’on écrit une instruction, on peut directement l’exécuter), idéal pour développer rapidement et tester des algorithmes d’analyse de données ;
* **de haut niveau** (une seule ligne de code permet de réaliser des processus complexes), qui rend plus facile le développement d’un programme ;
* **à la syntaxe simple et lisible**.
* **open source et gratuit**.

Il permet de faire de l’analyse de données, de la programmation web, de la gestion de bases de données, etc.

Python est l’un des langages de programmation les plus utilisés.

_Source : Formation SSPy ; Université Paris Cité_
{% endhint %}

## Parcours d’initiation à Python

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Maîtriser les fondamentaux du langage Python pour réaliser des opérations de traitement et d’analyse de données.</td><td><img src="https://3786092575-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnSrS1oz2N9yTlykjBxxZ%2Fuploads%2FoQ8UDNpZk0NmMhUi4RFI%2FTag%20-%20Item.png?alt=media&#x26;token=749b7309-d984-439e-b236-b22a9e6e0713" alt="" data-size="line"></td><td></td><td><a href="https://3786092575-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnSrS1oz2N9yTlykjBxxZ%2Fuploads%2F37sxKiLvgFidp6SoVTJ0%2FFrame%2025%20(2).png?alt=media&#x26;token=52aa7ed5-1064-48bc-ac80-d33ee338b582">Frame 25 (2).png</a></td><td><a href="https://inseefrlab.github.io/formation-python-initiation/">https://inseefrlab.github.io/formation-python-initiation/</a></td></tr></tbody></table>

Cette formation peut être réalisée :

* [sur la plateforme SSP Cloud de l’Insee](https://www.sspcloud.fr/formation?search=\&path=%5B%22Introduction%20to%20Python%22%5D), où elle est hébergée : cette option n’est ouverte qu’aux agents publics ;
* dans un jupyter notebook. Pour en savoir plus sur le jupyter notebook, comment l’installer et l’utiliser, vous pouvez consulter les sections correspondantes du cours de Python proposé par l’Université Paris Cité ([Conseils pour installer et configurer Python](https://python.sdv.u-paris.fr/01_introduction/#13-conseils-pour-installer-et-configurer-python) ; [Jupyter et ses notebooks](https://python.sdv.u-paris.fr/18_jupyter/)).

## Pour aller plus loin

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Approfondir ses connaissances en Python pour la data science : manipulation de données, visualisation, modélisation, traitement du langage naturel.</td><td><img src="https://3786092575-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnSrS1oz2N9yTlykjBxxZ%2Fuploads%2FQfRofJbpeqZmeD7zB2rm%2F%F0%9F%8E%A8%20%F0%9F%93%81%20Contenant%20technique.png?alt=media&#x26;token=25821947-d684-45f0-809c-c04b059982c5" alt="" data-size="line"></td><td></td><td><a href="https://3786092575-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnSrS1oz2N9yTlykjBxxZ%2Fuploads%2FjBvdTgM088Hwerqm1F6F%2FFrame%2025%20(4).png?alt=media&#x26;token=3202a227-67d3-4117-abdb-7fc38aa36f7c">Frame 25 (4).png</a></td><td><a href="https://pythonds.linogaliana.fr/">https://pythonds.linogaliana.fr/</a></td></tr><tr><td>S'initier aux outils méthodologiques et logiciels de l'apprentissage automatique.</td><td><a href="https://doi.org/10.5281/zenodo.7220306">10.5281/zenodo.7220306</a></td><td><img src="https://3786092575-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnSrS1oz2N9yTlykjBxxZ%2Fuploads%2FyL2zOiGsszibULJi9iZJ%2F%F0%9F%8E%A8%20%F0%9F%93%81%20Contenant%20technique.png?alt=media&#x26;token=d67c0eb0-8399-4885-808a-85321bd57837" alt="" data-size="line"></td><td><a href="https://3786092575-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnSrS1oz2N9yTlykjBxxZ%2Fuploads%2FY1lnTWgihRkGfhbbBkwC%2FFrame%202556.jpg?alt=media&#x26;token=f800adf0-dd34-4a55-9239-4aa32c43696f">Frame 2556.jpg</a></td><td><a href="https://inria.github.io/scikit-learn-mooc/index.html">https://inria.github.io/scikit-learn-mooc/index.html</a></td></tr></tbody></table>

## Autres ressources pédagogiques

Voici un catalogue (non exhaustif) d'autres ressources pédagogiques pour apprendre à utiliser Python.

### Niveau débutant

<details>

<summary><strong>[Formation]</strong> Initiation à Python par l'INRAE (Sandra Dérozier &#x26; Thomas Duigou) </summary>

[**Accéder à la formation**](https://sandraderozier.pages.mia.inra.fr/formation-python/cours.html)

**Programme** :&#x20;

* Introduction à Python
* Introduction à Jupyter
* Variables
* Affichage
* Listes, Tuples & Sets
* Dictionnaires
* Structures de contrôle
* Boucles
* Fichiers
* Modules
* Exercice complet

</details>

<details>

<summary><strong>[Formation]</strong> Introduction à la programmation Python pour la biologie par l'Université Paris Cité (Patrick Fuchs &#x26; Pierre Poulain)</summary>

[**Accéder à la formation**](https://python.sdv.u-paris.fr/)

**Programme** :&#x20;

* Variables
* Affichage
* Listes
* Boucles et comparaisons
* Tests
* Fichiers
* Dictionnaires et tuples
* Modules
* Fonctions
* Conteneurs
* Création de modules
* Bonnes pratiques en programmation Python
* Expressions régulières
* Jupyter et ses notebooks
* Module Biopython
* Module NumPy
* Module Matplotlib
* Module Pandas
* Avoir la classe avec les objets
* Fenêtres graphiques et Tkinter
* Mini-projets

</details>

<details>

<summary><strong>[Formation]</strong> Data Analysis Using Python: A Beginner’s Guide Featuring NYC Open Data par NYC open data (Mark Bauer) 🇬🇧</summary>

[**Accéder à la formation**](https://github.com/mebauer/data-analysis-using-python?tab=readme)

**Programme** :&#x20;

* Reading and Writing Files in Python
* Data Inspection, Cleaning, and Wrangling in Python
* Plotting and Data Visualization in Python
* Geospatial Data and Mapping

</details>

<details>

<summary><strong>[Cours en ligne]</strong> Intro to programming par Kaggle 🇬🇧</summary>

[**Accéder au cours**](https://www.kaggle.com/learn/intro-to-programming)

**Programme** :&#x20;

* Arithmétique et variables
* Fonctions
* Types de données
* Conditions
* Introduction aux listes

</details>

<details>

<summary><strong>[Cours en ligne]</strong> Python par Kaggle 🇬🇧</summary>

[**Accéder au cours**](https://www.kaggle.com/learn/python)

**Programme** :&#x20;

* Introduction à Python
* Fonctions
* Booléens et conditions
* Listes
* Boucles
* Strings et dictionnaires
* Travailler avec des librairies externes

</details>

### Niveau intermédiaire

<details>

<summary><strong>[Formation]</strong> Python avancé par l'INRAE (Sandra Dérozier &#x26; Thomas Duigou)</summary>

[**Accéder à  la formation**](https://sandraderozier.pages.mia.inra.fr/formation-python/cours.html)

**Programme** :&#x20;

* Fonctions
* Modules
* Gestion des erreurs
* Expressions régulières
* Requests (API)
* Numpy
* Pandas
* Biopython
* Matplotlib
* Exercice complet

</details>

<details>

<summary><strong>[Cours en ligne]</strong> Pandas par Kaggle 🇬🇧</summary>

[**Accéder au cours**](https://www.kaggle.com/learn/pandas)

**Programme** :&#x20;

* Créer, lire et écrire
* Indexation, sélection et affectation
* Fonction de synthèse et cartes
* Regrouper et trier
* Types de données et valeurs manquantes
* Renommer et combiner

</details>

<details>

<summary><strong>[Cours en ligne]</strong> Datavisualisation par Kaggle 🇬🇧</summary>

[**Accéder au cours**](https://www.kaggle.com/learn/data-visualization)

**Programme** :&#x20;

* Seaborn
* Graphiques en courbe
* Diagrammes en barres et heatmaps
* Nuages de point
* Choix des types de graphiques

</details>

<details>

<summary><strong>[Cours en ligne]</strong> Intro to machine learning par Kaggle 🇬🇧</summary>

[**Accéder au cours**](https://www.kaggle.com/learn/intro-to-machine-learning)

**Programme** :&#x20;

* Fonctionnement des modèles
* Exploration des données de base
* Votre premier modèle d’apprentissage automatique
* Validation du modèle
* Random forests

</details>

### Niveau avancé

<details>

<summary><strong>[Cours en ligne]</strong> Intermediate machine learning par Kaggle 🇬🇧</summary>

[**Accéder au cours**](https://www.kaggle.com/learn/intermediate-machine-learning)

**Programme** :&#x20;

* Valeurs manquantes
* Variables catégorielles
* Pipelines
* Cross validation
* XGBoost
* Data leakage

</details>

<details>

<summary><strong>[Cours en ligne]</strong> Feature engineering par Kaggle 🇬🇧</summary>

[**Accéder au cours**](https://www.kaggle.com/learn/feature-engineering)

**Programme** :

* What is Feature Engineering
* Mutual information
* Creating features
* Clustering with K-Means
* Principle Component Analysis
* Target encoding

</details>

<details>

<summary><strong>[Cours en ligne]</strong> Tous les cours proposés par HuggingFace 🇬🇧</summary>

[**Accéder aux cours**](https://huggingface.co/learn)

**Programme** : Traitement du langage naturel, apprentissage par renforcement profond, computer vision, machine learning pour les jeux, etc.

</details>

{% hint style="success" %}
**Ce guide est ouvert aux contributions**.\
💌 Vous avez des idées d'autres ressources pédagogiques sur l'utilisation de Python que nous pourrions référencer ici ? [Faites-nous en part dans ce formulaire](https://tally.so/r/wgZz4l).&#x20;
{% endhint %}

