Manipulation de données en Python vs. R : dplyr vs. pandas
Comparaison des techniques de manipulation de données en R et Python
Ce tutoriel compare les techniques de manipulation de données en utilisant les bibliothèques dplyr de R et pandas de Python. Grâce à des exemples concrets, apprenez à filtrer, grouper, résumer et joindre des données pour rationaliser votre flux de travail en science des données.
Une manipulation efficace des données est essentielle dans tout flux de travail en science des données. R et Python fournissent tous deux de puissantes bibliothèques pour cette tâche : dplyr* en R et pandas* en Python. Bien que la syntaxe diffère entre les deux, les fonctionnalités de base, telles que le filtrage, le regroupement, la synthèse et la jonction de données, sont remarquablement similaires. Dans ce didacticiel, nous proposons des exemples côte à côte d’opérations courantes de manipulation de données dans dplyr et pandas, pour vous aider à comprendre les similitudes et les différences lors de la transition entre ces deux écosystèmes.
Filtrer des données
Le filtrage est l’une des opérations les plus fondamentales. Voici des exemples de filtrage des lignes où la variable value est plus grande que 5.
library(dplyr)# Créer un échantillon de cadre de donnéesdata <-data.frame(id =1:10,value =c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10))# Filtrer les lignes où la valeur > 5filtered_data <- data %>%filter(value >5)print(filtered_data)
id value
1 3 6
2 5 8
3 6 7
4 8 9
5 10 10
import pandas as pd# Créer un échantillon de DataFramedata = pd.DataFrame({'id': list(range(1, 11)),'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]})# Filtrer les lignes où la valeur > 5filtered_data = data[data['value'] >5]print(filtered_data)
id value
2 3 6
4 5 8
5 6 7
7 8 9
9 10 10
Regrouper et résumer des données
Le regroupement de données et le calcul de statistiques sommaires sont essentiels pour comprendre les distributions de données. Ci-dessous, nous regroupons les données en fonction d’une variable catégorielle et calculons la moyenne d’une variable numérique.
library(dplyr)# Créer un échantillon de données avec une variable de regroupementdata <-data.frame(group =rep(c("A", "B"), each =5),value =c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10))# Regrouper par 'groupe' et résumer la valeur moyennesummary_data <- data %>%group_by(group) %>%summarize(avg_value =mean(value))print(summary_data)
# A tibble: 2 × 2
group avg_value
<chr> <dbl>
1 A 4.8
2 B 6.2
import pandas as pd# Créer un exemple de DataFrame avec une colonne de regroupementdata = pd.DataFrame({'group': ['A']*5+ ['B']*5,'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]})# Regrouper par 'groupe' et calculer la moyenne de la 'valeur'summary_data = data.groupby('group')['value'].mean().reset_index()print(summary_data)
group value
0 A 4.8
1 B 6.2
Joindre des données
La jonction (fusion) d’ensembles de données est une tâche courante lorsqu’il s’agit de combiner des données provenant de sources multiples. Voici un exemple de jointure à gauche.
library(dplyr)# Créer deux exemples de cadres de donnéesdf1 <-data.frame(id =1:5,value1 =c("A", "B", "C", "D", "E"))df2 <-data.frame(id =c(3, 4, 5, 6),value2 =c("X", "Y", "Z", "W"))# Left join df1 with df2 on 'id' (jointure gauche entre df1 et df2 sur 'id')joined_data <-left_join(df1, df2, by ="id")print(joined_data)
id value1 value2
1 1 A <NA>
2 2 B <NA>
3 3 C X
4 4 D Y
5 5 E Z
import pandas as pd# Créer deux cadres de données (DataFrames)df1 = pd.DataFrame({'id': [1, 2, 3, 4, 5],'value1': ["A", "B", "C", "D", "E"]})df2 = pd.DataFrame({'id': [3, 4, 5, 6],'value2': ["X", "Y", "Z", "W"]})# Effectuer une fusion à gauche sur 'id'joined_data = pd.merge(df1, df2, on="id", how="left")print(joined_data)
id value1 value2
0 1 A NaN
1 2 B NaN
2 3 C X
3 4 D Y
4 5 E Z
Conclusion
Ce tutoriel a fourni des exemples côte à côte comparant les techniques de manipulation de données dans R en utilisant dplyr et dans Python en utilisant pandas*. Qu’il s’agisse de filtrer des lignes, de regrouper des données pour obtenir des statistiques sommaires ou de joindre des ensembles de données, les deux écosystèmes offrent des outils puissants et similaires pour accomplir vos tâches de manipulation de données. La compréhension de ces parallèles peut grandement faciliter la transition entre R et Python et vous aider à choisir le bon outil pour vos projets de science des données.
@online{kassambara2024,
author = {Kassambara, Alboukadel},
title = {Manipulation de données en Python vs. R : dplyr vs. pandas},
date = {2024-02-13},
url = {https://www.datanovia.com/fr/learn/programming/transition/data-manipulation-dplyr-vs-pandas.html},
langid = {fr}
}