OPTIMISATION DU
CODE PYTHON
Pr A. MAJDA
2022 - 2023
Les librairies de Python
■ Les librairies sont des collections de modules avec du code pré-écrit et peuvent
être facilement importées et utilisées par les développeurs pour implémenter
n’importe quelle fonctionnalité
■ L’utilisation de certaines librairies permet d’optimiser davantage le code python.
■ On cite entre autre : Numpy, Pandas,…
Librairie numpy
■ La bibliothèque NumPy ( numerical Python) permet d’effectuer des calculs numériques avec
Python :
– Elle introduit une gestion facilitée des tableaux multidimensionnels de nombres.
– Elle est open source
– Elle contient plusieurs foncions pour le traitement des données
■ Pourquoi utiliser les tableaux de NumPy aulieu [Link]() des listes list ?
– Plus rapide (Les éléments sont contigus sur la mémoire )
– Consomme moins de mémoire
– Facile à utiliser
– les éléments du tableau doivent être du même type (les éléments d’une liste peuvent être
hétérogènes)
Librairie numpy
■ Pourquoi utiliser les tableaux de NumPy aulieu [Link]() des listes list ?
Librairie numpy
■ Il faut au départ importer le package numpy avec l’instruction suivante :
[Link]() vs list()
■ Création
[Link]() vs list()
■ En mémoire*
[Link]() vs list()
■ Type des données
[Link]() vs list()
■ Performances et mémoire utilisée
[Link]() vs list()
■ Performances et mémoire utilisée
[Link]() vs list()
■ Performances et mémoire utilisée
On peut utiliser
__sizeof__()
pour retourner
lataille d’une
liste ou un
tableau
Librairie Pandas
■ Pandas est une librairie python qui permet de manipuler facilement des données à analyser
– des tableaux de données avec des étiquettes de variables (colonnes) et d'individus
(lignes).
■ Ces tableaux sont appelés DataFrames
■ On peut facilement lire et écrire ces dataframes à partir ou vers un fichier tabulé (ex : fichiers
excel, csv, jason,…)
■ On peut facilement tracer des graphes à partir de ces DataFrames grâce à matplotlib.
Création de Séries
■ Un vecteur de valeurs d'une variable (en général valeurs pour différents individus) :
■ Exemple
Création de Séries
■ Une série peut être construite avec la liste des data seulement :
Création d'un dataframe
■ Un dataframe se comporte comme un dictionnaire dont les clefs sont les noms des
colonnes et les valeurs sont des séries.
■ Supposons un dataframe avec des données nulles
Opérations sur d'un dataframe
■ Créer un dataframe avec des données aléatoires :
[Link]()
crée un array de forme
spécifiée et le remplit avec
des valeurs aléatoires selon
la distribution normale
standard de moyenne 0 et
de variance 1.
Opérations sur d'un dataframe
■ Afficher une colonne
■ Lire C1 et C3
Opérations sur d'un dataframe
■ Faire la somme des colonnes :
Opérations sur d'un dataframe
■ Afficher une ligne
■ Lire i1 et i3
Opérations sur d'un dataframe
■ Afficher des cases spécifiques
■ Afficher une seule case
Opérations sur d'un dataframe
■ Modifier des valeurs
Opérations sur d'un dataframe
■ Supprimer une colonne
■ Supprimer une ligne
Opérations sur d'un dataframe
■ Supprimer une colonne Après suppression
■ Supprimer une ligne
Opérations sur d'un dataframe
■ La fonction d’affichage head()
■ Condition sur un dataframe
Opérations sur d'un dataframe
■ Générer un dataframe selon une condition
sur un dataframe
■ Générer un dataframe selon une condition
sur une colonne d’un dataframe
■ Possibilité de condition sur plusieurs
colonnes
TP4
On considère le fichier PV des notes sous format csv
TP4
Faire une transformation du fichier sous un format csv :
– Les virgules simples ‘,’ doivent être remplacée par ‘.’
– Les point-virgules ‘;’ doivent être remplacée par ‘,’
TP4
En utilisant les bibliothèques nécessaires :
1. Charger les données dans un dataframe
2. Vérifier si on a des données manquantes (cas d’absence) avec des fonctions pandas
3. Supprimer les instances relatives aux données manquantes avec des fonctions
pandas
4. Ajouter une colonne (attribut Moyenne) pour calculer et afficher la moyenne de
toutes les notes
5. Ajouter une colonne (attribut Resultat) pour calculer et afficher la mention ‘validé’
ou ‘ajourné’ si la moyenne est >=10 ou <10
6. Afficher dans un simple diagramme (camembert) pour voir le taux de résultats
‘validé’ et ‘ajourné’.
7. Afficher dans un simple diagramme (barres) les taux de réussite par module,
(Astuce vous pouvez utiliser la fonction barplot de la librairie seaborn).
TP4
Une fois le programme donne ces résultats
1. Définir une méthode main() avec toutes les parties du code réalisé
2. Contrôler l’exécution de cette méthode en mettant en valeur :
a. L’utilisation du processeur
b. L’utilisation de la mémoire