L'analyse de données avec pandas

Pandas est une librairie python permettant de faire de analyse de donnée. Elle est beaucoup utilisée pour traiter les données dans le cadre du Machine Learning.

Cet article présente les principales fonctions de bases de cette librairie. Les exemples sont basées sur le cours Linkedin pandas Essential Training de Jonathan Fernandes

Site web de l’éditeur : https://pandas.pydata.org

Les exemples proviennent de la manipulation du fichier Olympics.csv mis à disposition par le journal theguardian.com : theguardian.com - olympic medal winner

Le fichier n’était plus disponible, vous pouvez le retrouver sur mon github : https://github.com - file/olympics.csv

Vocabulaire

Cette partie présente quelques termes à connaitre pour utiliser panda

Dataframe : séquence d’une série qui partage le même index

La 1ère colonne correspond à l’index et les autres colonnes correspondent aux Series.

Series : tableau d’une dimension d’une donnée indexée

Configuration

Cette partie présente les fonctions pour la mise en place de l’environnement de travail.

Mise en place

  • Importer
import pandas as pd
  • Afficher la version ainsi que les dépendances
pd.show_versions()
  • Afficher la version : pd.__version__

Lecture de fichiers

  • Importer un fichier CSV

Dans le code ci-dessous, on skipp de l’importation les 4 premières lignes du fichier avec l’attribut skiprows=4

data = pd.read_csv('data/olympics.csv', skiprows=4)
data.head()

La sortie sera la suivante :

pandas-head

  • Autres types de fichiers
read_excel()
read_json()
read_sql_table()

Récupération d’information

  • Obtenir les dimensions d’une dataframe (appelée data)
data.shape

Sortie : (29216, 10)

Il est possible d’accéder à chaque élément du tuple de manière individualisé en précisant l’index. Ainsi :

data.shape[0]

Sortie : 29216

data.shape[1]

Sortie : 10

  • Type d’une variable

Exemple 1 : avec une dataframe

type(data)

Sortie : pandas.core.frame.DataFrame

Exemple 2 : avec une série

type(data['City'])

Sortie : pandas.core.series.Series

  • Afficher le contenu de la variable data
data
  • Afficher les informations
data.info()

Sortie :

pandas-info

  • Afficher le contenu de la colonne City : data['City']

  • Affichage à partir du début

    • Les 4 premières lignes (par défaut)
    data.head()
    
    • Les 3 premières lignes
    data.head(3)
    
    • Afficher les 3 dernières lignes
data.tail()

Opération de base

value_counts

Retourne un objet contenant le nombre de valeurs uniques

Sur une dataframe : pandas.pydata.org - DataFrame.value_counts.html

Sur une série : pandas.pydata.org - Series.value_counts.html

Exemple

  • Le nombre de médailles par Edition
data.Edition.value_counts()

Sortie :

2008    2042
2000    2015
2004    1998
1996    1859
[...]
Name: Edition, dtype: int64
  • Le nombre de médailles en fonction du genre

    data.Gender.value_counts()
    

    Résultat :

    Men      21721
    Women     7495
    Name: Gender, dtype: int64
    

Trier les valeurs

sort_values() permet de tirer les valeurs

  • D’une série

Documentation officielle de pandas : pandas.pydata.org - sort_values.html

  • D’un dataFrame

Documentation officielle de pandas : pandas.pydata.org - sort_values.html

Remarques : Il est nécessaire de déclarer une variable pour récupérer la valeur de retour

Exemple :

  • Trier les entrées en fonction du nom de l’athlète
ath = data.Athlete.sort_values()
  • Trier les entrée en fonction de l’Edition, puis ensuite du nom de Athlète.
data.sort_values(by=['Edition', 'Athlete'])

Sources

You might also enjoy