Simplifiez le traitement des données avec Pandas Pipeline

Simplifiez le traitement des données avec Pandas Pipeline

Image de l’auteur

Dans le langage R, nous utilisons %>% pour créer des pipelines et effectuer plusieurs opérations sur un jeu de données. De même, pour créer un pipeline d’apprentissage automatique, nous utilisons le pipeline de scikit-learn pour traiter les données, construire et évaluer le modèle. Alors, qu’utilisons-nous pour créer des pipelines de données en Python ? Nous utilisons un tube pandas pour appliquer des fonctions chaînées.

Dans ce didacticiel, nous apprendrons à créer un tube pandas et à ajouter plusieurs fonctions chaînées pour effectuer le traitement et la visualisation des données.

Nous utiliserons l’environnement Deepnote pour exécuter le code et afficher des trames de données pandas nettes.

Commencer

Nous allons charger et afficher l’ensemble de données de segmentation de la clientèle du centre commercial de Kaggle à l’aide de `read_csv()`.

import pandas as pd

data = pd.read_csv("Mall_Customers.csv")
data

Il contient l’identifiant client, l’âge, le sexe, le revenu et le score de dépenses.

Simplifiez le traitement des données avec Pandas Pipeline

Création de fonctions de traitement de données

Maintenant, écrivez les fonctions Python simples qui prennent un ou plusieurs arguments. Chaque fonction doit avoir une trame de données comme premier argument pour créer un canal chaîné.

  • filter_male_ income: la fonction prend deux colonnes et filtre les données pour les clients masculins ayant un revenu annuel supérieur à 15.
  • groupe_moyen: il regroupe la trame de données sur une seule colonne avec une moyenne et supprime la colonne CustomerID.
  • nom_colonne_majuscule: il transforme le nom des colonnes en majuscules.
  • bar_plot: la fonction utilise les colonnes simples et trace le graphique à barres. Il utilise `matplotlib.pyplot` sur le back-end.
# filtering by Gender and Annual Income
def filter_male_income(dataframe, col1,col2):
    return data[(data[col1] == "Male") & (data[col2] >= 15) ]

# groupby mean and dropping ID columns
def mean_group(dataframe, col):
    return dataframe.groupby(col).mean().drop("CustomerID",axis=1)

# changing column names to uppercase
def uppercase_column_name(dataframe):
    dataframe.columns = dataframe.columns.str.upper()
    return dataframe 

# plot bar chart using pandas
def bar_plot(dataframe, col):
    return dataframe.plot(kind="bar", y=col, figsize=(15,10))

Pipeline avec une fonction

Dans cette partie, nous allons créer un pipeline simple avec une seule fonction. Nous ajouterons `.pipe()` après le dataframe pandas (data) et ajouterons une fonction avec deux arguments. Dans notre cas, les deux colonnes sont « Sexe » et « Revenu annuel (k$) ».

data.pipe(filter_male_income, col1="Gender", col2="Annual Income (k$)")

Simplifiez le traitement des données avec Pandas Pipeline

Pipeline aux multiples fonctions

Essayons un exemple un peu complexe et ajoutons 2 fonctions supplémentaires dans le pipeline. Pour ajouter l’autre fonction, ajoutez simplement `.pipe()` après la première fonction pipe. Nous pouvons ajouter autant de canaux dans le pipeline de données avec plusieurs arguments. Les résultats sont reproductibles et le code est facilement lisible et propre.

Dans notre cas, nous avons filtré l’ensemble de données, l’avons regroupé par “Âge” et converti les noms de colonne en majuscules.

C’est simple, tout comme lancer une fonction Python.

data.pipe(filter_male_income, col1="Gender", col2="Annual Income (k$)").pipe(
                mean_group, "Age"
                ).pipe(uppercase_column_name)

Simplifiez le traitement des données avec Pandas Pipeline

Un pipeline complet

Un pipeline complet traite les données et affiche certains résultats analytiques. Dans notre cas, il s’agit d’un simple diagramme à barres des clients Revenu annuel contre. Âge. Nous avons filtré la trame de données, l’avons regroupée par âge, les colonnes converties en majuscules et tracé le graphique à barres.

data.pipe(filter_male_income, col1="Gender", col2="Annual Income (k$)").pipe(
                mean_group, "Age"
                ).pipe(uppercase_column_name).pipe(bar_plot,"ANNUAL INCOME (K$)")

Simplifiez le traitement des données avec Pandas Pipeline

Le tuyau peut être appliqué à la trame de données et aux séries de pandas. Il est assez efficace lors du traitement des données et de la phase expérimentale. Où vous pouvez facilement changer les fonctions pour obtenir une solution optimale. Le tuyau nous permet d’avoir une structure et une manière organisée de combiner plusieurs fonctions en une seule opération. Il est propre, lisible et reproductible. Vous pouvez l’utiliser pour simplifier l’étape de traitement des données.

Dans le didacticiel, nous avons découvert les fonctions de pipe pandas et leur cas d’utilisation. Nous avons également créé plusieurs pipelines avec des fonctions uniques et multiples. Les fonctions de canal peuvent également être utilisées pour des processus avancés tels que l’analyse de données, la visualisation de données et les tâches d’apprentissage automatique.

Abid Ali Awan (@Shutterstock) est un spécialiste des données certifié qui aime créer des modèles d’apprentissage automatique. Actuellement, il se concentre sur la création de contenu et la rédaction de blogs techniques sur les technologies d’apprentissage automatique et de science des données. Abid est titulaire d’une maîtrise en gestion de la technologie et d’un baccalauréat en génie des télécommunications. Sa vision est de créer un produit d’IA utilisant un réseau de neurones graphiques pour les étudiants aux prises avec une maladie mentale.

Leave a Comment