我希望加入两个数据框。第一个,包含一堆商店,由其ID表示,并保存有关它们的信息,例如销售数量(weekly_sales)和表示该周的日期。
第二个,包含一些商店的额外数据,其中包括一周内的某些商店,例如当周的燃油价格。
我需要创建一个将两者结合起来的数据框。因此,对于同样位于第二个数据集的第一个数据集中的每个商店ID和日期组合,我将具有以下内容,即第一个数据集以及第二个数据集中的温度和燃料价格添加到正确的行来自第一个数据集:
由于第三个条目的第一个和第二个数据集之间没有共享商店ID和日期组合,我只能将新列设为NA。
我如何在火花中做到这一点?我知道如何做的唯一工会只是基于相同数据集的基本连接。
文字中的数据集:
Store Dept Date Weekly_Sales IsHoliday
1 1 05/02/2010 24924.5 FALSE
1 1 12/02/2010 46039.49 TRUE
1 1 19/02/2010 41595.55 FALSE
1 1 26/02/2010 19403.54 FALSE
1 1 05/03/2010 21827.9 FALSE
Store Date Temperature Fuel_Price
1 05/02/2010 42.31 2.572
1 12/02/2010 38.51 2.548
1 19/02/2010 39.93 2.514
1 26/02/2010 46.63 2.561
1 05/03/2010 46.5 2.625
1 12/03/2010 57.79 2.667
Store Dept Date Weekly_Sales IsHoliday Temparat Fuel_Price
1 1 05/02/2010 24924.5 FALSE 42.31 2.572
1 1 12/02/2010 46039.49 TRUE 38.51 2.548
1 1 06/02/2010 41595.55 FALSE NA NA
1 1 26/02/2010 19403.54 FALSE
1 1 05/03/2010 21827.9 FALSE
1 1 12/03/2010 21043.39 FALSE
答案 0 :(得分:1)
为此,您只需使用join
和Store
字段执行date
df1.join(df2, Seq("Store", "date"), "left")
这应该为您提供所需的输出。