Я хочу объединить два DataFrames с заполнением NaN в pyspark? - PullRequest
1 голос
/ 25 апреля 2019

Я хочу объединить два кадра данных в pyspark следующим образом: df1 выглядит так:

+-----------+-------------------+-----------------+                 
|         id|      date_start_id|      date_end_id|
+-----------+-------------------+-----------------+
|          1|         2019-01-29|       2019-02-09|          
|          2|         2019-01-29|       2019-02-09|          
|          3|         2019-01-29|       2019-02-09|          
|          4|         2019-01-29|       2019-02-09|          
|          5|         2019-01-29|       2019-02-09|          
|          6|         2019-01-29|       2019-02-09|          
|          7|         2019-01-29|       2019-02-09|          
|          8|         2019-01-29|       2019-02-09|          
|          9|         2019-01-29|       2019-02-09|          
|         10|         2019-01-29|       2019-02-09|          
+-----------+-------------------+-----------------+

И df2 выглядит так:

+-----------+-------------------+-----------------+-----------+                 
|         id|      date_start_id|      date_end_id|   response|
+-----------+-------------------+-----------------+-----------+
|          2|         2019-01-29|       2019-02-09|          1|
|          3|         2019-01-29|       2019-02-09|          1|
|          5|         2019-01-29|       2019-02-09|          1|
|          7|         2019-01-29|       2019-02-09|          1|
|          8|         2019-01-29|       2019-02-09|          1|
+-----------+-------------------+-----------------+-----------+

Я хочу объединить оба кадра данных втаким образом, чтобы это выглядело как:

+-----------+-------------------+-----------------+-----------+                 
|         id|      date_start_id|      date_end_id|   response|
+-----------+-------------------+-----------------+-----------+
|          1|         2019-01-29|       2019-02-09|       null|
|          2|         2019-01-29|       2019-02-09|          1|
|          3|         2019-01-29|       2019-02-09|          1|
|          4|         2019-01-29|       2019-02-09|       null|
|          5|         2019-01-29|       2019-02-09|          1|
|          6|         2019-01-29|       2019-02-09|       null|
|          7|         2019-01-29|       2019-02-09|          1|
|          8|         2019-01-29|       2019-02-09|          1|
|          9|         2019-01-29|       2019-02-09|       null|
|         10|         2019-01-29|       2019-02-09|       null|
+-----------+-------------------+-----------------+-----------+

Что я сделал:

df = df1.join(df2, ["id","date_start_id","date_end_id"], "left")

Но, к сожалению, это не сработало для меня.Любая помощь или подсказка будут высоко оценены.

...