GERBELOTBARILLON.COM

Parce qu'il faut toujours un commencement...

Pandas

Pandas est une bibliothèque Python spécialisée dans l'analyse de données et le traitement des ensembles de données. Pandas permet d'analyser de grands volumes de données et produit des résultats basés sur les statistiques. Pandas fonctionne avec Python et s'installe par un simple pip install pandas.

Pandas manipule les données sous forme de Dataframes (2D, lignes et colonnes) ou de séries (1D, lignes). Par défaut, sans autre paramétrage, chaque valeur dans une série est donnée par son index. Comportement identique à un parcours de liste sous python.

import pandas as pd
      
a = [1, 3, 4, 42]
myvar = pd.Series(a)
print(myvar) # Affiche la série complète sur deux colonnes : index + valeur
0     1
1     3
2     4
3    42
dtype: int64
Si l'on veut afficher une valeur simple, il faut utiliser la notation python des accès aux listes. Par défaut, les valeurs se trouvent donc aux index dans la liste.
print(myvar[0])
Si vous souhaitez nommer les index, vous pouvez utiliser une liste comme entêtes de labels.
import pandas as pd

a = [1, 3, 4]
myvar = pd.Series(a, index=["x", "y", "z"])
print(myvar) # Affiche sous la forme d'un tableau de deux dimensions avec les nouveaux entêtes de labels
print("Valeur de 'z' : ", myvar["z"]) # Affiche la valeur de l'élément dont l'index est "z"
Ce code produit le résultat suivant, où l'on voit bien que la dernière ligne est bien la valeur de la colonne 'z'
x    1
y    7
z    2
dtype: int64
Valeur de 'z' : 2

Il est également possible d'utiliser les dictionnaires python comme source de données.

import pandas as pd

temperatures = { "jour1": 23, "jour2": 25, "jour3": 42 }
myvar = pd.Series(temperatures)
print(myvar)
Le résultat obtenu est un tableau sur deux colonnes contenant les clés du dictionnaire comme index et les valeurs du dictionnaire comme valeurs aussi dans Pandas.

Il n'est pas obligatoire d'utiliser l'ensemble des colonnes pour le traitement que vous souhaitez apporter à ces ensembles. Vous pouvez choisir sur quelles colonnes les sélections vont s'opérer en spécifiant une liste d'indexes à la méthode pd.Series().

import pandas as pd

temperatures = { "jour1": 23, "jour2" : 25, "jour3": 42 }
myvar = pd.Series(temperatures, index=["jour1", "jour3"])
print(myvar)
Le Résultat ainsi obtenu est le suivant :
jour1    23
jour3    42
dtype: int64

Comme énoncé plus haut, un Dataframe Pandas est un tableau multi-dimensionnel, quand la Série est un vecteur colonne.

import pandas as pd

data = {
  "taille": [120, 180],
  "age": [10, 20]
}

df = pd.DataFrame(data)

print(df)
Nous obtenons l'affichage sous forme de tableau de deux colonnes, dont les index sont numériques (nous n'avons rien défini en ce sens) et les clés du dictionnaire sont les entêtes des colonnes.
   taille  age
0     120   10
1     180   20

Comme énoncé précédemment, un DataFrame Pandas est un tableau à deux dimensions et plus. Pour accéder au contenu, il faut utiliser la méthode loc[] pour récupérer la valeur de la ligne. Dans l'exemple ci-dessus, faire un print(df.loc[0]) renvoie

taille    120
age        10
Name: 0, dtype: int64
Nous obtenons alors un objet de type Series. Si nous voulons avoir plusieurs colonnes, il suffit de les spécifier print(df.loc[0, 1]) pour renvoyer les colonnes 0 et 1. Et comme pour les Series, la méthode DataFrame() peut contenir un ensemble de chaines de caractères représentant les noms des index pour chaque ligne. df = pd.DataFrame(data, index=["age1", "age2"]) renverra
      taille  age
age1     120   10
age2     180   20
Une fois les index nommés il est possible évidemment de faire un accès selon le nom de la ligne par print(df.loc["age2"]).

Accès aux fichiers CSV

Utiliser la méthode read_csv('filename.csv') pour ouvrir un fichier au format CSV. Cette méthode renvoie un DataFrame. Faire un affichage avec print(df) ne va pas afficher l'intégralité du DataFrame mais va générer une ellipse pour avoir globalement les 5 premières lignes et les 5 dernières lignes. Si vous voulez obtenir l'intégralité des lignes, il faut utiliser la méthode to_string() de l'objet DataFrame.

Accès aux fichiers JSON

Utiliser la méthode read_json('filename.json') pour ouvrir un fichier au format JSON. Cette méthode renvoie un DataFrame. Faire un affichage avec print(df) ne va pas afficher l'intégralité du DataFrame mais va générer une ellipse pour avoir globalement les 5 premières lignes et les 5 dernières lignes. Si vous voulez obtenir l'intégralité des lignes, il faut utiliser la méthode to_string() de l'objet DataFrame.

Puisque JSON dispose globalement du même format que les dictionnaires python, la conversion d'un dictionnaire en DataFrame est quasiment immédiate.

import pandas as pd

data = {
   "Duration": {
      "0": 60,
      "1": 40,
      "2": 45
   },
   "Pulse": {
      "0": 110,
      "1": 117,
      "2": 90
   },
   "Calories": {
      "0": 450.1,
      "1": 242.4,
      "2": 500.0
   }
}

df = pd.DataFrame(data)

print(df)
On obtient alors le tableau suivant
   Duration  Pulse  Calories
0        60    110     450.1
1        40    117     242.4
2        45     90     500.0

Visualisation de données

Une fois que le DataFrame est chargé en mémoire, vous disposez de plusieurs méthodes pour accéder et manipuler ces informations.

Affichage des 10 premières lignes du DataFrame : print(df.head(10))