Initiation à la Science des Données avec
Python
Jean Marie Tshimula
Short presentation:
Jean Marie Tshimula
❑ 2022 –
Professeur à l’Université de Kinshasa
Postdoc à McGill University (Montréal). Ingénieur IA à la Sorbonne (Paris)
❑ 2018-2022
Ph.D. in Computer Science (Université de Sherbrooke, QC, Canada)
Specialty: Computational psycholinguistics and artificial intelligence
❑ 2016-2018
MSc in Computer Science (Miyagi University, Sendai, Japan)
Specialty: Artificial intelligence and psychology
❑ 2011-2023 (Professional experience)
Millicom, IBM, Hitachi, Nuance Communications, Novisto
Google Scholar: [Link]
Science des données
Importation
des données
Visualisation
q La science des données
consiste à collecter, nettoyer,
Nettoyage Transformation Communication
analyser et interpréter de
des données
grandes quantités de
données.
Modélisation
q Son objectif est de découvrir des informations utiles et de prendre
des décisions éclairées.
q En termes simples, c'est comme résoudre des énigmes en utilisant
des données pour comprendre le monde qui nous entoure.
Language Python
q Python est un langage de programmation
populaire et polyvalent, connu pour sa simplicité
et sa lisibilité.
q Il est largement utilisé dans divers domaines tels
que la science des données, l'intelligence
artificielle (IA), la robotique, le calcul quantique,
le développement web, la blockchain, etc.
q Avec sa syntaxe claire et son large éventail de librairies, Python est
idéal pour les débutants en programmation et les professionnels
de divers domaines.
Où dois-je exécuter le code Python?
q Installer Python sur ordinateur
[Link] [Link]
q Utiliser Python sur le Cloud (sans installation, mais nécessite un compte Gmail)
[Link]
Comment executer Python
Librairies Python pour la science des données
q Manipulation efficace des
[Link] tableaux multidimensionnels. q Visualisation avancée
des données.
q Importation, analyse et
[Link] manipulation de données. q Apprentissage automatique
et modélisation.
[Link]
q Importation, analyse et q Développement web
[Link]
manipulation de données. robuste et efficace.
[Link]
Science des données avec Python
Importation des
données
Visualisation
Nettoyage des Transformation Communication
données
Modélisation
Plan de formation
❏ Jour 1 : Introduction aux bases de Python et à la manipulation
des données
❏ Jour 2 : Visualisation des données avec Matplotlib et Seaborn
❏ Jour 3 : Introduction à l'apprentissage automatique avec Scikit-
Learn
❏ Jour 4 : Projet pratique de science des données
Jour 1 : Introduction aux bases de Python et à la manipulation des données
Importation des
données
Visualisation
Nettoyage des Transformation Communication
données
Modélisation
Plan du jour
❏ Installation des outils pour exécuter Python
❏ Exploration des données avec Pandas
❏ Manipulation des données avec Pandas
❏ Exercice pratique
Lecture des données avec Pandas q Pandas : Lecture et gestion de données de
différentes sources (CSV, Excel, Web, bases de
données, etc.)
q Prise en charge de multiples formats de fichiers
pour l'analyse de données.
Exemple :
Exploration de DataFrame Pandas
DataFrame est une une structure de données bidimensionnelle tabulaire flexible. Utilisé pour stocker et analyser des
données en Python.
Aperçu général du DataFrame 10 premières lignes du DataFrame 10 dernières lignes du DataFrame
Types de données dans le DataFrame
Type des Type des données Description
données dans natif de Python
Pandas
object string Le type de données le plus général dans Pandas, capable de
contenir n'importe quel type de données Python.
int64 int Un type de données numériques utilisé pour stocker des
nombres entiers sans décimales. Par exemple: 1, 3, 5, 7, etc.
float64 float Un type de données numériques utilisé pour stocker des
nombres décimaux. Par exemple: 0.15, 6.24, 9.01, etc.
Types de données dans le DataFrame…
Types de données dans le DataFrame…
Attributs du DataFrame
Les objets Python sont consistés des attributs et méthodes
Attribut Description
dtypes Liste les types de données des colonnes
columns Liste les noms des columns
axes Liste les labels des lignes et les noms des colonnes
ndim Retourne le nombre de dimensions dans un DataFrame
size Retourne le nombre d’éléments
shape Renvoie la taille totale des colonnes et des observations.
values Renvoie la représentation numpy des données (un tableau ou une matrice)
Méthodes du DataFrame
Contrairement aux attributs, les méthodes Python sont suivies de parenthèses. Tous les
attributs et méthodes peuvent être répertoriés avec la fonction dir().
Méthode Description
head([n]), tail([n]) n premières / dernières lignes
describe() Génère des statistiques descriptives (uniquement pour les colonnes
numériques).
max(), min() Renvoie les valeurs maximales/minimales pour toutes les colonnes
numériques.
mean(), median() Renvoie les valeurs moyennes/médianes pour toutes les colonnes numériques.
std() Écart-type
sample([n]) Renvoie un échantillon aléatoire du DataFrame.
dropna() Supprimer toutes les lignes contenant des valeurs manquantes.
Sélection de colonne dans le DataFrame
Méthode 1 : Obtenir le sous-ensemble du DataFrame Méthode 2 : Utilise le nom de colonne comme
en utilisant le nom de colonne : salary_df["sex"] attribut : salary_df.sex
Remarque : Il existe un attribut rank pour les DataFrames Pandas, donc pour sélectionner une colonne
avec le nom "rank", nous devrions utiliser la Méthode 1.
La méthode groupby dans le DataFrame
Avec la méthode "groupby", nous pouvons :
q Diviser les données en groupes en fonction de certains critères
q Calculer des statistiques (ou appliquer une fonction) à chaque groupe
La méthode groupby dans le DataFrame…
La même chose peut être effectuée en une seule ligne:
Le filtrage dans le DataFrame
q Pour sous-ensemble de données, utilisez l'indexation booléenne, également connue
sous le nom de filtre.
q Par exemple, pour sous-ensemble des lignes avec des salaires supérieurs à 120 000$.
Tous les opérateurs booléens peuvent être utilisés
pour sous-ensemble de données :
> : supérieur
>= : supérieur ou égal
< : inférieur
<= : inférieur ou égal
== : égal
!= : différent
La sélection des lignes dans le DataFrame
Si nous devons sélectionner une plage de lignes, nous pouvons spécifier la plage en utilisant ":"
Le tri dans le DataFrame
q Nous pouvons trier les données par valeur dans la colonne.
q Par défaut, le tri s'effectuera par ordre croissant.
q Un nouveau DataFrame est retourné après le tri.
Le tri dans le DataFrame…
Nous pouvons trier les données en utilisant 2 colonnes ou plus :
Les données ou valeurs manquantes
Les valeurs manquantes sont marquées comme NaN.
Suppression des valeurs manquantes
Suppression de toutes les lignes contenant les valeurs manquantes
q La méthode dropna() permet d’éliminer toutes les valeurs manquantes.
q Supprimer les données peut entraîner une perte d'informations.
q Récupérer les données manquantes améliore la distribution.
q Une analyse prudente guide la décision.
Remplissage des données manquantes
#Remplacer les valeurs manquantes par zéro (0)
Remplissage des données manquantes…
Remplacer les valeurs manquantes par la moyenne
Cette technique ne marche pas lorsque le type des données de la colonne est ‘object’
ou ‘string’. Aussi lorsque toute la colonne ne comporte que les valeurs manquantes.
Fonctions d'agrégation dans Pandas
Agrégation - calcul d'une statistique de synthèse pour chaque groupe, par exemple :
q Calculer les sommes ou les moyennes par groupe
q Calculer les tailles/nombres d'éléments par groupe
Fonctions d'agrégation courantes : min, max, count, sum, prod, mean, median, mode, mad, std, var
La méthode agg() est utile lorsque plusieurs statistiques sont calculées par colonne :
Exercice pratique
Pour cet exercice, utilisez les données du fichier "[Link]" dans le document de la formation, ou
importez directement à partir de ce lien: [Link]
Questions:
q Supprimez les valeurs manquantes pour que vos calculs ne soient pas affectés.
q Calculez le retard moyen à l'arrivée (`arr_delay`) pour chaque compagnie aérienne (`carrier`)
sur l'ensemble des données.
q Calculez la distance totale parcourue (`distance`) pour chaque mois (`month`).
q Identifiez le vol le plus long (en termes de distance) pour chaque mois (`month`) et affichez les
détails de ces vols.
q Groupez les données par aéroport de départ (`origin`) et trouvez le temps de vol moyen
(`air_time`) pour chaque aéroport de départ.
Les détails sur les données de « [Link] » sont fournis à la page suivante.
Voici une explication des variables :
q year: Année du vol.
q month: Mois du vol.
q day: Jour du vol.
q dep_time: Heure de départ du vol.
q dep_delay: Retard au départ du vol (en minutes).
q arr_time: Heure d'arrivée du vol.
q arr_delay: Retard à l'arrivée du vol (en minutes).
q carrier: Compagnie aérienne.
q tailnum: Numéro de queue de l'avion.
q flight: Numéro de vol.
q origin: Aéroport de départ.
q dest: Aéroport de destination.
q air_time: Temps de vol (en minutes).
q distance: Distance du vol (en miles).
q hour: Heure de départ du vol
q minute: Minute de départ du vol.
Recommandation :
q Prenez temps de lire cette
page et la suivante
q Exercez-vous également!