Datenmanipulation in Python vs. R: dplyr vs. pandas
Vergleich von Datenverarbeitungstechniken in R und Python
Dieses Tutorial vergleicht Datenmanipulationstechniken unter Verwendung der dplyr-Bibliotheken von R und pandas von Python. Lernen Sie anhand von Beispielen, wie Sie Daten filtern, gruppieren, zusammenfassen und verbinden können, um Ihren Data Science Workflow zu optimieren.
Effektive Datenmanipulation ist in jedem Data-Science-Workflow unerlässlich. Sowohl R als auch Python bieten leistungsstarke Bibliotheken für diese Aufgabe: dplyr in R und pandas in Python. Obwohl sich die Syntax zwischen den beiden unterscheidet, sind die Kernfunktionen - wie das Filtern, Gruppieren, Zusammenfassen und Verbinden von Daten - bemerkenswert ähnlich. In diesem Tutorial werden Beispiele für gängige Datenmanipulationsoperationen in dplyr und Pandas vorgestellt, damit Sie die Gemeinsamkeiten und Unterschiede beim Übergang zwischen diesen beiden Ökosystemen verstehen.
Daten filtern
Filtern ist eine der grundlegendsten Operationen. Nachfolgend sind Beispiele für das Filtern von Zeilen aufgeführt, in denen die Variable value größer ist als 5.
library(dplyr)# Erstellen eines Beispieldatenrahmensdata <-data.frame(id =1:10,value =c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10))# Zeilen filtern, deren Wert > ist 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# Erstellen eines Beispiel DataFramedata = pd.DataFrame({'id': list(range(1, 11)),'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]})# Zeilen filtern, deren Wert > ist 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
Daten gruppieren und zusammenfassen
Die Gruppierung von Daten und die Berechnung von zusammenfassenden Statistiken ist für das Verständnis von Datenverteilungen von entscheidender Bedeutung. Im Folgenden werden wir nach einer kategorischen Variable gruppieren und den Durchschnitt einer numerischen Variable berechnen.
library(dplyr)# Erstellen von Beispieldaten mit einer Gruppierungsvariabledata <-data.frame(group =rep(c("A", "B"), each =5),value =c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10))# Gruppieren nach 'Gruppe' und Zusammenfassen des Durchschnittswertssummary_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# Erstellen eines DataFrame-Beispiels mit einer Gruppierungsspaltedata = pd.DataFrame({'group': ['A']*5+ ['B']*5,'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]})# Gruppieren nach 'Gruppe' und Berechnen des Mittelwerts von 'Wert'summary_data = data.groupby('group')['value'].mean().reset_index()print(summary_data)
group value
0 A 4.8
1 B 6.2
Daten verknüpfen
Das Verbinden (Zusammenführen) von Datensätzen ist eine häufige Aufgabe, wenn Daten aus mehreren Quellen kombiniert werden. Nachfolgend ein Beispiel für die Durchführung einer linken Verknüpfung.
library(dplyr)# Zwei Beispieldatenrahmen erstellendf1 <-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"))# Linke Verknüpfung df1 mit df2 auf '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# Erstellen Sie zwei Beispiel-DataFramesdf1 = 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"]})# Eine linke Verknüpfung für 'id' durchführenjoined_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
Schlussfolgerung
In diesem Tutorium werden anhand von Beispielen Datenmanipulationstechniken in R mit dplyr und in Python mit pandas miteinander verglichen. Egal, ob Sie Zeilen filtern, Daten für zusammenfassende Statistiken gruppieren oder Datensätze zusammenführen, beide Ökosysteme bieten leistungsstarke und ähnliche Werkzeuge, um Ihre Datenmanipulationsaufgaben zu bewältigen. Das Verständnis dieser Parallelen kann den Übergang zwischen R und Python erheblich erleichtern und Ihnen helfen, das richtige Tool für Ihre Data Science-Projekte zu wählen.
@online{kassambara2024,
author = {Kassambara, Alboukadel},
title = {Datenmanipulation in Python vs. R: dplyr vs. pandas},
date = {2024-02-13},
url = {https://www.datanovia.com/de/learn/programming/transition/data-manipulation-dplyr-vs-pandas.html},
langid = {de}
}