Vous êtes sur la page 1sur 10

Analyse des données

P a g e 1 | 10
Mise en situation

Soit la société « NourMX », société spécialisée dans la production et la


commercialisation des meubles. Les graphiques ci-dessous présentent quelques statistiques
sur les ventes de cette société. On veut analyser ces données pour pouvoir prendre les
bonnes décisions pour la future période de la société.

Ventes des Meubles


700

600
600
500
500
400

360 350 300


320 320 300 300
240 250 200
200
150 160 100
120 120 100 120
90
0
Living bureaux Cuisine Salon chambre chambre à
d'enfants coucher

trimestre1- 2022 trimestre2 -2022 trimestre3 -2022

Chambre à Coucher

Zouhour

Opéra

Clara

Dina

Mélina

Dorsaf

140 120 100 80 60 40 20 0

trimestre3 -2022 trimestre2 -2022 trimestre1- 2022

P a g e 2 | 10
% ventes
Living
17% chambre à coucher
23%
bureaux
8%
chambre d'enfants
Cuisine 14%
12%

Salon
26%

chambre à coucher chambre d'enfants Salon Cuisine bureaux Living

Définition
L’analyse de données (Data Analysis),, est de plus en plus utilisée dans les entreprises
de tous les secteurs:
Grâce aux technologies du numérique, les entreprises ont désormais accès à des vastes
volumes de données. Comprendre et analyser ces informations est un précieux atout.

Pourquoi ?
Extraire des informations exploitables pour prendre de meilleures décisions au sein
d’une entreprise.
Il s’agit en réalité de se baser sur le passé et le présent afin de prendre les bonnes
décisions pour le futur.
Ceci peut se révéler très utile pour la croissance d’une entreprise, pour développer de
nouveaux produits ou pour trouver des solutions aux problèmes.

Les outils d'analyse de données :


Il existe de nombreux outils d’analyse de données permettant aux utilisateurs de traiter
et de manipuler les données plus facilement.
En guise d’exemple, on peut citer les langages de programmation Python, les logiciels
Talend et Apache Spark, ElasticSearch ou encore Microsoft HDInsight.

La bibliothèque Pandas
La bibliothèque Pandas est spécifiquement conçue pour la manipulation et l’analyse de
données en langage Python. Elle est à la fois performante, flexible et simple
d’utilisation.

P a g e 3 | 10
Le nom « Pandas » est en fait la contraction du terme « Panel Data » désignant les
ensembles de données incluant des observations sur de multiples périodes temporelles.
Cette bibliothèque a été créée comme un outil pour l’analyse en Python.
Le fonctionnement de Pandas repose sur les « DataFrames » : des tableaux de données
en deux dimensions.

P a g e 4 | 10
Soit le tableau suivant représentant des smartphones d’une société MyPhone:

1) Lancer l'éditeur Thonny.


2) Enregistrer votre travail dans un fichier ayant pour nom « tp1 pandas » et pour
emplacement votre dossier personnel « C:/bac2024».
3) Taper les lignes suivantes :

import pandas as ps
df = ps.read_csv (”tel.csv”,sep=”;”)
print (df )

4) Cliquer sur le bouton exécuter pour afficher le résultat de ce code.


5) Déduire le rôle des deux commandes suivantes :

Commande Rôle

ps.read_csv ( ) Read_csv permet de créer un dataframe à partir d’un fichier csv


..............................................................................................................................

print (df) La commande print permet d’afficher le contenu du dataframe


..............................................................................................................................

IdDataFrame = pandas.read_excel ("Chemin/ Nom_Fichier.extension",


Création et
"Nom_Feuille")
importation d’un
IdDataFrame = pandas.read_csv ("Chemin/Nom_Fichier.extension", sep =
DataFrame
"séparateur")

P a g e 5 | 10
IdDataFrame.shape ou bien print ( IdDataFrame.shape )
IdDataFrame.size ou bien print ( IdDataFrame.size )
IdDataFrame.info ( ) ou bien print ( IdDataFrame.info ( ) )
IdDataFrame.describe ( ) ou bien print ( IdDataFrame.describe ( ) )
Manipulation d’un IdDataFrame.columns ou bien print ( IdDataFrame.columns )
DataFrame
IdDataFrame.rename ( columns = { "NomColonne1" : "NouveauNomColonne1", "NomColonne2" : "NouveauNomColonne2", … } , inplace= True )
Resultat = IdDataFrame.drop ( columns = [ "NomColonne1",…,"NomColonneN" ] )
Resultat = IdDataFrame.drop ( [ Indice_Ligne ] )
Resultat = IdDataFrame.drop ( IdDataFrame.index [ N° LigneInitial : N° LigneFinal ] )

6) Déduire le rôle de la commande df.shape


print(df.shape) La commande shape permet d’afficher le nombre de colonnes et de lignes
……………………………………………………………………………………………………...................................................................................................................................................................
7) Déduire le rôle de la commande df.info()
print(df.info()) La commande info permet d’afficher des informations concernant le dataframe (Nombre de valeurs pour chaque colonne
……………………………………………………………………………………………………...................................................................................................................................................................
8) Déduire le rôle de la commande df.describe
print(df.describe()) La commande describe permet d’afficher un résumé rapide d’un dataframe
……………………………………………………………………………………………………...................................................................................................................................................................
9) Déduire le rôle de la commande df.columns
print(df.columns) La commande columns permet d’afficher les titres (noms) des colonnes d’un dataframe
……………………………………………………………………………………………………...................................................................................................................................................................
10) Changer le nom de la colonne prix en PU.
df.rename(columns={"Prix":"PU"},inplace=True) / print(df) La commande rename permet de changer le nom d’une colonne d’un dataframe
……………………………………………………………………………………………………...................................................................................................................................................................
11) Supprimer la colonne MARQUE.
df=df.drop(["Marque"],axis=1) / print(df)
……………………………………………………………………………………………………...................................................................................................................................................................
12) Supprimer la ligne N°10.
df=df.drop([9]) / print(df) NB : La 1ère ligne a pour numéro 0
……………………………………………………………………………………………………...................................................................................................................................................................

P a g e 6 | 10
IdDataFrame ou bien print ( IdDataFrame )
IdDataFrame [ "NomColonne" ] ou bien print ( IdDataFrame [ "NomColonne" ] )
IdDataFrame [ [ "NomColonne1" , "NomColonne2" , …] ] ou bien print ( IdDataFrame [ [ "NomColonne1" , "NomColonne2" , …] ] )
Affichage des IdDataFrame [ "NomColonne" ] [ N° LigneInitial : N° LigneFinal ] ou bien print (IdDataFrame [ "NomColonne" ] [ N° LigneInitial : N° LigneFinal ])
données IdDataFrame.head ( n ) ou bien print ( IdDataFrame.head ( n ) )
d’un DataFrame IdDataFrame.tail ( n ) ou bien print ( IdDataFrame.tail ( n ) )
IdDataFrame.iloc [ N° Ligne ] ou bien print ( IdDataFrame.iloc [ N° Ligne ] )
IdDataFrame.iloc [ N° LigneInitial : N° LigneFinal ] ou bien print ( IdDataFrame.iloc [ N° LigneInitial : N° LigneFinal ] )
IdDataFrame.iloc [ N° Ligne , N° Colonne ] ou bien print ( IdDataFrame.iloc [ N° Ligne , N° Colonne ] )

13) Afficher seulement la colonne Marque.


print(df.Marque) ou print(df["Marque"])
……………………………………………………………………………………………………...................................................................................................................................................................
14) Afficher les colonnes Marque, Modele, Prix.
print(df["Marque", "Modèle", "Prix"])
……………………………………………………………………………………………………...................................................................................................................................................................
15) Afficher les 5 premières marques.
print(df.head(5))
……………………………………………………………………………………………………...................................................................................................................................................................
16) Afficher les prix du 5ème téléphone au 10ème téléphone.
print(df.iloc[5 :10]))
……………………………………………………………………………………………………...................................................................................................................................................................
17) Afficher les informations relatives aux 5 premiers téléphones.
print(df.iloc[0 :4]))
……………………………………………………………………………………………………...................................................................................................................................................................
18) Afficher les informations relatives aux 3 derniers téléphones.
print(df.tail(3))
……………………………………………………………………………………………………...................................................................................................................................................................
19) Afficher les informations relatives au 4ème téléphone.
print(df.iloc[4]))
……………………………………………………………………………………………………...................................................................................................................................................................

P a g e 7 | 10
IdDataFrame.loc [ N° ligne , "NomColonne" ] = Valeur (ou Formule)
Modification et ajout des données dans un Id_DataFrame.loc [ N° ligne ] = [ Liste_Valeur ]
DataFrame Id_DataFrame [ "NomColonne" ] = Valeur (ou Formule)

20) Tester la commande df.loc[0, ″couleur″]=″Blanc″ , que remarquez-vous ? Déduire le rôle.


Changer la valeur de la couleur de la 1ère ligne du noir au blanc
…………………………………………………………………………………………………………………………………………………………………………………………………………………………
21) Créer une nouvelle colonne nommée PARE dont le contenu est calculé après une remise de 10%.
…………………………………………………………………………………………………………………………………………………………………………………………………………………………
df["pare"]=df["Prix"]*0.9 / print(df)

Resultat = Id_DataFrame.drop_duplicates ( )
Nettoyage d’un DataFrame Resultat = Id_DataFrame.dropna ( )
Resultat = Id_DtaFrame.dropna ( axis = 1 )

22) Supprimer les lignes vides existant dans le DataFrame "df".


dfl=df.dropna(axis=0)/ print(dfl)
……………………………………………………………………………………………………................................................................................................................................................................
23) Supprimer les colonnes contenant des valeurs nulles du DataFrame "df"
dfc=df.dropna(axis=1)/ print(dfc)
……………………………………………………………………………………………………................................................................................................................................................................

Les fonctions statistiques mean ( ) – min ( ) – max ( ) – sum ( ) – count ( )

24) Tester la commande (print(df["Prix"].mean()), que remarquez-vous ? Déduire le rôle.


Cette commande permet d’afficher la valeur moyenne des prix des téléphones.
…………………………………………………………………………………………………….............................................................................................................................................................
25) Changer la commande précédente pour tester min, max, sum, count, Déduire le rôle.
print(df["Prix"].max()): Cette commande permet d’afficher la valeur maximale des prix des téléphones.
…………………………………………………………………………………………………….............................................................................................................................................................
print(df["Prix"].min()): Cette commande permet d’afficher la valeur minimale des prix des téléphones.
…………………………………………………………………………………………………….............................................................................................................................................................
print(df["Prix"].sum()): Cette commande permet d’afficher la somme des prix des téléphones.
…………………………………………………………………………………………………….............................................................................................................................................................
print(df["Prix"].count()): Cette commande permet d’afficher le nombre des prix des téléphones.

P a g e 8 | 10
IdDataFrame [ IdDataFrame [ "NomColonne" ] OperateurComparaison Valeur ]
Affichage des données d’un DataFrame
selon une ou plusieurs conditions IdDataFrame [( IdDataFrame ["NomColonne"] OperateurComp Valeur) OperateurLogique (
IdDataFrame ["NomColonne"] OperateurComp Valeur )]

26) Tester la commande print(df[df[″Prix″]>=500], déduire le rôle.


Cette commande permet d’afficher les téléphones dont le prix est supérieur ou égal à 500.
……………………………………………………………………………………………………...........................................................................................................................................................
27) Tester la commande print(df[df[″Prix″]==299].
Cette commande permet d’afficher les téléphones dont le prix est égal à 500.
……………………………………………………………………………………………………...........................................................................................................................................................
28) Tester la commande print(df["couleur"].isin(["Rouge","Rose"])), Déduire le rôle.
Cette commande permet d’indiquer les téléphones dont la couleur est rouge ou rose.
……………………………………………………………………………………………………..........................................................................................................................................................

Les opérateurs de comparaison


== < <= > >= != isin

29) Tester la commande print(df[(df["Prix"]>=1400) &(df["Prix"]<=1600)]), Déduire le rôle.


……………………………………………………………………………………………………................................................................
Cette commande permet d’afficher les téléphones dont le prix est encadré entre la couleur est rouge ou rose.

Les opérateurs logiques


| Ou logique
& Et logique

Tri des éléments d’un DataFrame_Trié = IdDataFrame.sort_values ( by = [ "NomColonne1" ,"NomColonne2" , …] , ascending = [ True/False ,
DataFrame True/False , … ] )

30) Tester la commande dft=df.sort_values(by=["Prix"], ascending=True)


print(dft), Déduire le rôle.
Cette commande permet de trier le dataframe selon la colonne Prix en appliquant un tri croissant(True).
……………………………………………………………………………………………………........................................................................................................................................................
31) Changer la valeur True par False.
Pour la valeur False, le tri est décroissant.

P a g e 9 | 10
import matplotlib.pyplot as alias_matplotlib
Création d’un IdDataFrame.plot.bar (x = "NomColonneAbscisse" , y = "NomColonneOrdonnée" , title = "TitreGraphique" , color = "CouleurGraphique" )
graphique IdDataFrame.plot.line (x = "NomColonneAbscisse" , y = "NomColonneOrdonnée" , title = "TitreGraphique" , color = "CouleurGraphique" )
alias_matplotlib.show ( )

32) Ajouter la ligne suivante en haut du programme : import matplotlib.pyplot as plt


33) Tester la commande :
df.plot.bar(x="Modèle", y="Prix", title="Graphique des Prix", color="red")
plt.show(). Déduire le rôle.
Créer un graphique sous forme d’histogramme représentant les prix des modèles des téléphones en utilisant la couleur rouge.
……………………………………………………………………………………………………........................................................................................................................................................

34) Changer la valeur bar par line.


Créer un graphique sous forme de courbe représentant les prix des modèles des téléphones en utilisant la couleur rouge.
……………………………………………………………………………………………………........................................................................................................................................................

P a g e 10 | 10

Vous aimerez peut-être aussi