我想在两个Spark DataFrame上执行左连接:
左侧DataFrame的格式为:
Time1 Ticker
2015-02-17 14:30:01 AAPL
2015-02-17 14:30:02 AAPL
... ...
2015-02-17 15:01:00 AAPL
... ...
2015-02-17 14:30:01 GOOG
2015-02-17 14:30:02 GOOG
... ...
2015-02-17 15:01:00 GOOG
正确的DataFrame格式为:
Time2 AAPL GOOG
2015-02-17 14:30:01 100.2 700.1
2015-02-17 14:30:02 100.3 700.1
... ... ...
2015-02-17 15:01:00 99.9 699.8
我希望新加入的DataFrame看起来像:
Time1 Ticker Price lag_1_min_Price
2015-02-17 14:30:01 AAPL 100.2 ...
2015-02-17 14:30:02 AAPL 100.3 ...
... ... ... ...
2015-02-17 15:01:00 AAPL 99.9 ...
... ... ... ...
2015-02-17 14:30:01 GOOG 700.1 ...
2015-02-17 14:30:02 GOOG 700.1 ...
... ... ... ...
2015-02-17 15:01:00 GOOG 699.8 ...
注意:
Time1
不 Time2
的子集或超集,NaN
可以接受。lag_1_min_Price
将包含相应Ticker
的{{1}} - Time1
= 1分钟的值。我的直觉是重塑正确的DataFrame,即将股票贴纸合并为一列(但我不知道该怎么做)。此外,加入Time2
列的最有效方法是什么?