La bibliothèque Pandas En Python

1 - introduction

Pandas est une bibliothèque Python open source sous licence BSD  permettant de manipuler des structures de données hautes performances et faciles à utiliser ainsi que des outils d'analyse de données pour le langage de programmation Python. Python avec Pandas est utilisé dans un large éventail de domaines, y compris les domaines académiques et commerciaux, financiers, économique, les statistiques, l'analyse, etc... Dans ce cours, nous allons apprendre les différent principes et  fonctionnalités de Python Pandas et comment les utiliser en pratique.

2 - Installation de Pandas

Pandas n'est pas fournit avec le package standard de Python, cependant elle s'installe très facilement en toute souplesse à l'aide de l'utilitaire pip:

pip install  pandas

2 - Création d'une série avec Pandas





Pandas Series est un tableau étiqueté unidimensionnel capable de contenir des données de tout type (entier, chaîne, flottant, objets python, etc.). Les étiquettes d'axe sont appelées collectivement index.

2.1 - Création d'une série vide

Un premier exemple de série pandas est la série vide:

Exemple

# -*- coding: utf-8 -*-
# importation de pandas en tant que pan
import pandas as pan
# Création de séries vides
ser = pan.Series()
print(ser)

La sortie est :  Série ([], dtype: float64)

2.2 - Création d'une série à partir d'un tableau

Afin de créer une série à partir d'un tableau, nous devons importer le module numpy et utiliser la méthode numpy.array().

Exemple

# importation de pandas as pan
import pandas as pan

# importation de  numpy as np
import numpy as np

# tableau simple
data = np.array (['P', 'y', 't', 'h', 'o' , 'n'])

s = pan.Series(data)
print(s)

La sortie est:

0    P
1     y
2    t
3    h
4    o
5    n
dtype: object

2.3 - Création d'une série à partir d'un tableau avec index

Afin de créer une série à partir d'un tableau avec index, nous devons fournir à index le même nombre d'éléments que dans le tableau.

Exemple

# importation de pandas as pan
import pandas as pan

# importation de  numpy as np
import numpy as np

# tableau simple
data = np.array (['p', 'y', 't', 'h', 'o' , 'n'])

# fournir un index
s = pan.Series (data, index = [4, 7, 8, 9, 13 , 17])
print(s)

La sortie est :
4    p
7    y
8    t
9    h
13    o
17    n
dtype: object

2.4 - Création d'une série à partir d'un Scalaire

Si les données sont une valeur scalaire, un index doit être fourni. La valeur sera répétée pour correspondre à la longueur de l'index

Exemple

#import the pandas library as pan
import pandas as pan
import numpy as np
s = pan.Series(7, index=[1, 2, 3, 4, 5])
print(s)

La sortie est la suivante:

1    7
2    7
3    7
4    7
5    7
dtype: int64

2.5 - Création d'une série à partir d'un dictionnaire

Afin de créer une série à partir d'un dictionnaire, nous devons d'abord créer un dictionnaire après quoi nous pouvons créer une série. Les clés de dictionnaire sont utilisées pour construire un index.

# coding: utf-8
import pandas as pan
# exemple de dictionnaire 
dict = {'Laptop' : 17, 
        'Ipad' : 15, 
        'Tablette' : 25} 
   
# Créer une série à partir du dictionnaire
s = pan.Series(dict)  
print(s) 

Ce qui affiche:

Laptop    17
Ipad    15
Tablette    25
dtype: int64

4 - Accès aux données d'une série Pandas

On peut accéder aux données à partir d'un index facilement en spécifiant la position entre crochets.

Exemple

# coding: utf-8
import pandas as pan
s = pan.Series([0, 1, 2, 3],index = ['a','b','c','d'])

#extraire le deuxième élément
print(s[1])
# Affiche  1

Ou encore :

Exemple: extraire l'élément avec son index

# coding: utf-8
import pandas as pan
s = pan.Series([0, 1, 2, 3],index = ['a','b','c','d'])

#extraire le deuxième élément
print(s[[1]])

Ce qui affiche à la sortie:

b 1
dtype: int64

Exemple: extraire les données depuis un index début jusqu'à un index fin

# coding: utf-8
import pandas as pan
s = pan.Series([0, 1, 2, 3, 4, 5],index = ['a','b','c','d','e','f'])

#extraire depuis l'index 2 jusqu'à l'index 4
print(s[2:4])

La sortie est:

c    2
d    3
dtype: int64

Exemple: extraction des données à partir d'étiquette

# coding: utf-8
import pandas as pan
s = pan.Series([0, 1, 2, 3, 4, 5],index = ['a','b','c','d','e','f'])

#extraire le deuxième élément
print(s['d'])
print(s[['d']])

Ce qui affiche:

3
d     3
dtype: int64

Ou encore

Exemple

# coding: utf-8
import pandas as pan
s = pan.Series([0, 1, 2, 3, 4, 5],index = ['a','b','c','d','e','f'])

#extraire le deuxième élément
print(s[['a' , 'e' , 'd']])

Ce qui affiche:

a    0
e    4
d    3
dtype: int64

5 - Python DataFrame Pandas

5.1 - DataFrame à partir d'un dictionnaire

un dataframe Pandas est un type de donnée similaire à un dictionnaire où les clefs sont utilisés pour représenter  les noms des colonnes et les valeurs sont représentés par des séries. Pour faire simple, nous allons traiter un exemple concret:

Nous souhaitons à titre d'exemple, représenter la table données suivante à l'aide d'un datafram:

Nous commençons par convertir la table des données  en un dictionnaire:

dictData = {'ID' : [1, 2, 3] , 
        'Nom': ['Natalie', 'Robert', 'Bernard'],  
        'Age': [22, 37, 29], 
        'Taille': [170, 190, 181]}

Nous faisons ensuite l'instanciation sur la classe DataFrame:

df = pandas.DataFrame(dictData)

Code final

import pandas as pan

dictData = {'ID' : [1, 2, 3] , 
        'Nom': ['Natalie', 'Robert', 'Bernard'],  
        'Age': [22, 37, 29], 
        'Taille': [170, 190, 181]}
df = pan.DataFrame(dictData)
print(df)

Voici comment s'affichent les données:

5.2 - DataFrame à partir d'un tableau numpy

Reprenons l'exemple du paragraphe précédent. Les données du tableau  peuvent être représentées par un tableau numpy:

ar = numpy.array([[1, 'Natalie', 22, 170], [2, 'Robert', 37, 190], [3, 'Bernard' , 29 , 181]])

Et on crée ensuite le dataframe en utilisant la liste des noms des colonnes:

df = pan.DataFrame(ar,  columns = ['ID', 'Nom', 'Age', 'Taille'])

Code final

import pandas as pan
import numpy as np
ar = np.array([[1, 'Natalie', 22, 170], [2, 'Robert', 37, 190], [3, 'Bernard' , 29 , 181]])
df = pan.DataFrame(ar,  columns = ['ID', 'Nom', 'Age', 'Taille'])
print(df)

On souhaite parfois afficher les données de certaines colonnes seulement:

Exemple: affichage des colonnes Nom et Age

import pandas as pan
import numpy as np
ar = np.array([[1, 'Natalie', 22, 170], [2, 'Robert', 37, 190], [3, 'Bernard' , 29 , 181]])
df = pan.DataFrame(ar,  columns = ['ID', 'Nom', 'Age', 'Taille'])
print(df[['Nom', 'Age']])

La sortie est:

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply

Your email address will not be published. Required fields are marked *