Gegeben sind zwei Datenrahmen:
df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3)))
df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1)))
df1
# CustomerId Product
# 1 Toaster
# 2 Toaster
# 3 Toaster
# 4 Radio
# 5 Radio
# 6 Radio
df2
# CustomerId State
# 2 Alabama
# 4 Alabama
# 6 Ohio
Wie kann ich den Datenbankstil, d.h., sql-stil, joins ? Das heißt, wie bekomme ich:
- Eine innere Verknüpfung de
df1
ydf2
:
Gibt nur die Zeilen zurück, in denen die linke Tabelle übereinstimmende Schlüssel in der rechten Tabelle hat. - Eine äußere Verbindung de
df1
ydf2
:
Gibt alle Zeilen aus beiden Tabellen zurück, verbindet Datensätze aus der linken Tabelle, die übereinstimmende Schlüssel in der rechten Tabelle haben. - A Left Outer Join (oder einfach Left Join) de
df1
ydf2
Gibt alle Zeilen aus der linken Tabelle und alle Zeilen mit übereinstimmenden Schlüsseln aus der rechten Tabelle zurück. - A rechte äußere Verbindung de
df1
ydf2
Gibt alle Zeilen aus der rechten Tabelle und alle Zeilen mit übereinstimmenden Schlüsseln aus der linken Tabelle zurück.
Extra Kredit:
Wie kann ich eine SQL-ähnliche Select-Anweisung ausführen?
2 Stimmen
Der Spickzettel "Data Transformation with dplyr", der von RStudio erstellt und gepflegt wird, enthält auch schöne Infografiken darüber, wie Joins in dplyr funktionieren rstudio.com/resources/cheatsheets
5 Stimmen
Wenn Sie stattdessen hierher gekommen sind, um etwas über die Zusammenlegung von Pandas Dataframes, diese Ressource kann gefunden werden aquí .
1 Stimmen
Für @isomorphismes Link ist hier eine aktuelle archivierte Version: web.archive.org/web/20190312112515/http://stat545.com/…