我是新來使用數據框,我想知道如何執行SQL相當於左外上多列連接上的一系列表格熊貓上多列加入多個dataframes
的例子:
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
基本上我想要做這樣的事情SQL代碼(注意,DF3未加入統計):
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
結果應該是這樣的:
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
我已經嘗試過使用合併和連接,但無法弄清楚如何在多個表上執行以及何時涉及多個關節。有人可以幫我解決這個問題嗎?
感謝
非常感謝您的回答。因爲我有很多數據框,所以我一直在尋找一種將表連接在一起的快捷方式 - 類似於使用「連接」,因爲您可以一步連接兩個以上的表。但是,我不知道如何在多個連接條件下執行此操作。如果沒有更快的方法來做這件事,我會堅持你的建議:) – user3311225
熊貓加入是比關係演算更多的關係代數,你需要按順序指定步驟。 SQL允許您一起指定所有內容,查詢引擎將決定產生結果的最佳步驟。 – ChuckCottrill