ISET Beja
Département technologie de l’informatique
SEM2. 1
Enseignante : DAKHLI Rym
Atelier Machine Learning
Atelier 1 : Python pour Machine Learning
Objectifs
Utiliser la bibliothèques Pandas pour lire et manipuler les données.
Créer des data frames avec Pandas.
Construire des data visualisations avec Matplotlib.
Travail à faire
1. Importation des bibliothèques
import pandas as pd
import [Link] as plt
from collections import Counter
%matplotlib inline
2. Manipulation des data frame
# Importer la bibliothèque pandas et lire le fichier '[Link]'
chocolate = pd.read_csv('chocolate_data.csv')
# Afficher les premières lignes du DataFrame
[Link](5)
# Afficher les dernières lignes du DataFrame
[Link](3)
# Afficher les types de données de chaque colonne du DataFrame
[Link]
# Afficher les noms des colonnes du DataFrame
[Link]
#sélectionner une ou plusieurs colonnes d’un data frame
chocolate['cocoa_percent']
# Afficher les indices du DataFrame
[Link]
# Afficher le nombre de valeurs non nulles dans chaque colonne du DataFrame
[Link]
# Afficher des informations sur le DataFrame, y compris les types de données et les valeurs non nulles
[Link]()
Page | 1
A.U. 2025-2026 S2
3. Filtrage des données
# Sélectionner via indice les lignes allant de l'indice 9 inclus à l'indice 25
exclus et les colonnes allant de l'indice 2 inclus à l'indice 5 exclus dans le
DataFrame 'chocolate'
[Link][9:25, 2:5]
# Sélectionner via valeurs/label de la colonne 'country_of_bean_origin' dans le
DataFrame 'chocolate' via la condition où la valeur de la colonne 'rating' est
supérieure à 3
origin = [Link][chocolate['rating'] > 3, 'country_of_bean_origin']
# Trier le DataFrame CL en fonction de la colonne 'rating' par ordre décroissant
CL = chocolate.sort_values(['rating'], ascending=False)
4. Agrégation des données
# Supprimer le symbole '%' des valeurs dans la colonne 'cocoa_percent' et
convertir les valeurs en flottant
chocolate['cocoa_percent'] = chocolate['cocoa_percent'].[Link]('%',
'').astype(float)
# Sélectionner les lignes où la valeur de 'cocoa_percent' est supérieure à 70
above_70 = chocolate[chocolate['cocoa_percent'] > 70]
# Afficher la forme du DataFrame résultant
above_70.shape
# Enregistrer les données filtrées dans un fichier CSV sans inclure les index
above_70.to_csv('chocolate_data_above70.csv', index=False)
# Grouper les données du DataFrame par la colonne 'company_location' et calculer
la somme des valeurs pour chaque groupe
CL = [Link]('company_location')
# Regrouper les données filtrées par la colonne 'rating'
above_70 = above_70.groupby('rating')
#Somme des notes par emplacement de l'entreprise
CL = [Link]('company_location')['rating'].sum()
#Note moyenne des chocolats avec un pourcentage de cacao supérieur à 70 %
CL = chocolate[chocolate['cocoa_percent'] > 70]['rating'].mean()
5. Visualisation avec Matplotlib
# Crée un histogramme des notes de chocolat en utilisant la fonction hist() de
Matplotlib.
# Utilise la colonne 'rating' du DataFrame 'chocolate' comme données d'entrée.
Page | 2
A.U. 2025-2026 S2
# Divise les notes en 10 intervalles (bins=10).
# Utilise la couleur 'skyblue' pour les barres de l'histogramme et 'black' pour la
couleur des bordures.
[Link](chocolate['rating'], bins=10, color='skyblue', edgecolor='black')
# Étiquette de l'axe des x
[Link]('Note')
# Étiquette de l'axe des y
[Link]('Fréquence')
# Titre du graphique
[Link]('Distribution des notes de chocolat')
# Affiche le graphique
[Link]()
# Crée un nuage de points pour visualiser la relation entre le pourcentage de cacao
(sur l'axe des x)
# et la note (sur l'axe des y) en utilisant la fonction scatter() de Matplotlib.
# Utilise les données de la colonne 'cocoa_percent' du DataFrame 'chocolate' comme
valeurs de l'axe des x,
# et les données de la colonne 'rating' comme valeurs de l'axe des y.
# Les points du nuage de points seront de couleur orange.
[Link](chocolate['cocoa_percent'], chocolate['rating'], color='orange')
# Étiquette de l'axe des x
[Link]('Pourcentage de cacao')
# Étiquette de l'axe des y
[Link]('Note')
# Titre du graphique
[Link]('Relation entre le pourcentage de cacao et la note')
# Affiche le graphique
[Link]()
C’est votre tour !
1. Renommer la colonne 'most_memorable_characteristics' en 'characteristics'
2. Supprimer les lignes avec des valeurs manquantes dans le DataFrame chocolate
3. Comment pouvez-vous utiliser des sous-graphiques (subplots) pour afficher plusieurs graphiques
dans une seule figure Matplotlib ?
Page | 3
A.U. 2025-2026 S2