Pandas left Outer verbinden mehrere Datenrahmen in mehreren Spalten
Ich bin neu in der Verwendung von DataFrame und möchte wissen, wie ein SQL-Äquivalent des Linksaußen-Joins für mehrere Spalten in einer Reihe von Tabellen ausgeführt wird
Beispiel:
df1:
Year Week Colour Val1
2014 A Red 50
2014 B Red 60
2014 B Black 70
2014 C Red 10
2014 D Green 20
df2:
Year Week Colour Val2
2014 A Black 30
2014 B Black 100
2014 C Green 50
2014 C Red 20
2014 D Red 40
df3:
Year Week Colour Val3
2013 B Red 60
2013 C Black 80
2013 B Black 10
2013 D Green 20
2013 D Red 50
Im Wesentlichen möchte ich so etwas wie diesen SQL-Code machen (Beachten Sie, dass df3 nicht im Jahr verbunden ist):
SELECT df1.*, df2.Val2, df3.Val3
FROM df1
LEFT OUTER JOIN df2
ON df1.Year = df2.Year
AND df1.Week = df2.Week
AND df1.Colour = df2.Colour
LEFT OUTER JOIN df3
ON df1.Week = df3.Week
AND df1.Colour = df3.Colour
Das Ergebnis sollte so aussehen:
Year Week Colour Val1 Val2 Val3
2014 A Red 50 Null Null
2014 B Red 60 Null 60
2014 B Black 70 100 Null
2014 C Red 10 20 Null
2014 D Green 20 Null Null
Ich habe versucht, Merge and Join zu verwenden, kann aber nicht herausfinden, wie dies bei mehreren Tabellen und bei mehreren beteiligten Verbindungen durchgeführt wird. Könnte mir bitte jemand dabei helfen?
Vielen Dank