Python : Apprendre à utiliser pandas

traitement, données, pandas, python

Avec la croissance exponentielle des données dans notre monde numérique, il est de plus en plus important pour les développeurs et les scientifiques de données de savoir comment manipuler ces grandes masses de données.

Dans cet article, nous allons apprendre à utiliser la librairie de traitement de données pandas pour manipuler efficacement les données. Nous allons explorer les principales fonctionnalités de pandas et apprendre à importer, lire, écrire, filtrer et exporter des documents en utilisant python et pandas.

Avec ces connaissances, vous serez en mesure de manipuler efficacement les données pour vos projets de développement ou vos analyses scientifiques.

Présentation de la bibliothèque pandas

La bibliothèque pandas est l’un des outils les plus populaires pour la manipulation de données en Python. Elle offre des fonctionnalités puissantes pour la manipulation, l’analyse et la visualisation des données. Les principales structures de données de pandas sont les DataFrames et les Series.

Les DataFrames sont similaires à des tableaux à deux dimensions, comme des feuilles de calcul Excel. Ils peuvent être créés à partir de n’importe quel type de données, comme des listes, des dictionnaires, des fichiers CSV et des bases de données. Les DataFrames permettent de manipuler les données de manière efficace en utilisant des méthodes similaires à celles utilisées dans les feuilles de calcul. Par exemple, on peut sélectionner des colonnes, filtrer les lignes et trier les données.

import pandas as pd
data = {'nom': ['John', 'Paul', 'George', 'Ringo'],
        'age': [31, 33, 35, 37],
        'ville': ['New York', 'London', 'Liverpool', 'Manchester']}
df = pd.DataFrame(data)
print(df)

Les Series sont similaires à des tableaux à une dimension, comme une colonne d’une feuille de calcul. Elles peuvent être créées à partir de n’importe quel type de données, comme des listes, des dictionnaires et des arrays. Les Series peuvent être utilisées pour effectuer des opérations mathématiques, comme les calculs statistiques.

import pandas as pd
s = pd.Series([1, 3, 5, 6, 8])
print(s)

Avec ces structures de données, pandas offre une variété d’options pour manipuler les données en Python. Les DataFrames et les Series sont très flexibles et peuvent être utilisés pour une grande variété de tâches pour la manipulation de données.

Manipulation des données avec pandas

Avec pandas, vous pouvez effectuer des opérations courantes sur les données telles que la sélection de colonnes, la filtration de lignes et le tri des données.

Sélectionner :

Pour sélectionner des colonnes d’un DataFrame, vous pouvez utiliser les crochets []. Par exemple, pour sélectionner la colonne ‘nom’ dans notre DataFrame df créé dans la section précédente, nous pouvons utiliser:

import pandas as pd
data = {'nom': ['John', 'Paul', 'George', 'Ringo'],
        'age': [31, 33, 35, 37],
        'ville': ['New York', 'London', 'Liverpool', 'Manchester']}
df = pd.DataFrame(data)
nom = df['nom']
print(nom)

Filtrer :

Pour filtrer les lignes d’un DataFrame en fonction d’une condition, vous pouvez utiliser les crochets [] avec une condition booléenne. Par exemple, pour sélectionner les lignes où l’âge est supérieur à 35 dans notre DataFrame df , nous pouvons utiliser :

import pandas as pd
data = {'nom': ['John', 'Paul', 'George', 'Ringo'],
        'age': [31, 33, 35, 37],
        'ville': ['New York', 'London', 'Liverpool', 'Manchester']}
df = pd.DataFrame(data)
age_sup_35 = df[df['age'] > 35]
print(age_sup_35)

Trier :

Pour trier les données d’un DataFrame, vous pouvez utiliser la méthode sort_values(). Par exemple, pour trier les lignes de notre DataFrame df par ordre croissant de l’âge, nous pouvons utiliser :

import pandas as pd
data = {'nom': ['John', 'Paul', 'George', 'Ringo'],
        'age': [31, 33, 35, 37],
        'ville': ['New York', 'London', 'Liverpool', 'Manchester']}

df = pd.DataFrame(data)
df.sort_values(by='age')

Comme vous pouvez le voir, sélectionner, filtrer et trier des données avec pandas est un jeu d’enfant !

Import et export des données

En plus de la manipulation de données, pandas offre également des fonctionnalités pour importer et exporter des données depuis différents formats de fichiers. Cela permet de travailler facilement avec des données provenant de différentes sources, telles que des fichiers CSV, des feuilles de calcul Excel, des bases de données, etc.

Importer

Pour importer des données à partir d’un fichier CSV, vous pouvez utiliser la fonction read_csv() de pandas. Par exemple, pour importer les données d’un fichier CSV nommé “data.csv” situé dans le même répertoire que votre script, vous pouvez utiliser :

import pandas as pd
df = pd.read_csv("data.csv")
print(df)


Exporter

Pour exporter des données vers un fichier CSV, vous pouvez utiliser la méthode to_csv() de pandas. Par exemple, pour exporter les données de notre DataFrame df dans un fichier CSV nommé “export_data.csv“, vous pouvez utiliser :

#suite du code précédent 
df.to_csv("export_data.csv", index=False)

Il est également possible d’importer et d’exporter des données depuis d’autres formats de fichiers, comme Excel et JSON, en utilisant les fonctions read_excel() et read_json() respectivement. Il existe également des fonctions similaires pour l’exportation de données vers ces formats, telles que to_excel() et to_json().

Manipulation avancée des données

Jusqu’à présent, nous avons vu comment utiliser pandas pour effectuer des opérations courantes de manipulation de données, telles que la sélection de colonnes, la filtration de lignes et le tri des données. Dans cette section, nous allons explorer des fonctionnalités plus avancées de pandas pour manipuler les données.

Agrégation des données

L’une des fonctionnalités les plus puissantes de pandas est sa capacité à effectuer des opérations de regroupement et d’agrégation de données. Cela peut être accompli en utilisant la méthode groupby() de pandas. Par exemple, pour regrouper les lignes d’un DataFrame en fonction de la valeur d’une colonne, puis calculer la moyenne de chaque groupe, vous pouvez utiliser :

import pandas as pd
df = pd.read_csv("data.csv")
grouped_data = df.groupby('column_name').mean()
print(grouped_data)

Jointure des données

Il est également possible d’utiliser pandas pour effectuer des opérations de jointure de données, similaires à celles utilisées dans les bases de données relationnelles. Cela peut être accompli en utilisant les méthodes merge() et join() de pandas. Par exemple, pour joindre deux DataFrames en utilisant une colonne comme clé de jointure, vous pouvez utiliser :

merged_data = pd.merge(df1, df2, on='key_column')
print(merged_data)

En utilisant ces fonctionnalités de regroupement, d’agrégation et de jointure, vous pouvez effectuer des analyses de données plus complexes.

Du code pour résumer :

import pandas as pd

# Import de données à partir d'un fichier CSV
df = pd.read_csv("data.csv")

# Manipulation de données : sélection de colonnes, filtration de lignes et tri des données
df = df[df['column_name'] > value]
df = df.sort_values(by='column_name')

# Regroupement et agrégation de données
grouped_data = df.groupby('column_name').mean()

# Jointure de données
merged_data = pd.merge(df1, df2, on='key_column')

# Export des données vers un fichier CSV
df.to_csv("export_data.csv", index=False)

Et voilà !