左边连接PySpark中的两个DataFrame

时间:2016-08-31 04:30:02

标签: python apache-spark pyspark apache-spark-sql

我想在两个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列的最有效方法是什么?

0 个答案:

没有答案