如何将具有不同形状和不同列的 pyspark 数据帧组合在一起



我在Pyspark中有两个数据帧。一个有超过 1000 行,另一个只有 4 行。列也不匹配。

超过1000 行的 DF1

+----+--------+--------------+-------------+
| ID |  col1  |     col2     |     col 3   |
+----+--------+--------------+-------------+
|  1 | time1  | value_col2   |  value_col3 |
|  2 | time 2 |  value2_col2 | value2_col3 |
+----+--------+--------------+-------------+
...

只有 4 行的 DF2

+-----+--------------+--------------+
| key |     col_c    |     col_d    |
+-----+--------------+--------------+
| a   |  valuea_colc | valuea_cold  |
| b   | valueb_colc  |  valueb_cold |
+-----+--------------+--------------+

我想创建一个如下所示的数据帧:

+----+--------+-------------+-------------+--------------+---------------+--------------+-------------+
| ID |  col1  |     col2    |     col 3   |    a_col_c   |    a_col_d    |   b_col_c    |   b_col_d   |
+----+--------+-------------+-------------+--------------+---------------+--------------+-------------+
|  1 | time1  | value_col2  |  value_col3 |  valuea_colc |   valuea_cold | valueb_colc  | valueb_cold |
|  2 | time 2 | value2_col2 | value2_col3 | valuea_colc  | valuea_cold   |  valueb_colc | valueb_cold |
+----+--------+-------------+-------------+--------------+---------------+--------------+-------------+

你能帮忙吗?我不喜欢使用熊猫。

谢谢!

我实际上是使用crossJoin解决这个问题的。

https://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html 解释了如何将交叉联接与 Pyspark DataFrames 一起使用。

相关内容

最新更新