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.

Programmation
Auteur·rice
Affiliation
Date de publication

13 février 2024

Modifié

9 mai 2025

Mots clés

dplyr vs pandas, Manipulation de données en R et Python, tutoriel pandas, dplyr tutorial, Traitement des données en R ou en Python

Introduction

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ées
data <- data.frame(
  id = 1:10,
  value = c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10)
)

# Filtrer les lignes où la valeur > 5
filtered_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 DataFrame
data = pd.DataFrame({
    'id': list(range(1, 11)),
    'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]
})

# Filtrer les lignes où la valeur > 5
filtered_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 regroupement
data <- 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 moyenne
summary_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 regroupement
data = 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ées
df1 <- 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.

Plus d’informations

Bon codage, et profitez de la puissance de dplyr et de pandas dans vos flux de travail en science des données!

Explorer d’autres articles

Note

Voici d’autres articles de la même catégorie pour vous aider à approfondir le sujet.

placeholder

placeholder
Aucun article correspondant
Retour au sommet

Réutilisation

Citation

BibTeX
@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}
}
Veuillez citer ce travail comme suit :
Kassambara, Alboukadel. 2024. “Manipulation de données en Python vs. R : dplyr vs. pandas.” February 13, 2024. https://www.datanovia.com/fr/learn/programming/transition/data-manipulation-dplyr-vs-pandas.html.