Pyspark:将数据框值添加到指定列中的每个不同值
Pyspark: adding dataframe values to each distinct value in a specified column
我需要将数据帧值添加到指定列中的每个不同值
例如
df1:
+----+----+
|col1|col2|
+----+----+
| A| 100|
| B| 70|
| C| 50|
+----+----+
df2:
+----+----+
|col3|col4|
+----+----+
|jose| 1|
| li| 2|
| liz| 3|
+----+----+
生成的 df 应如下所示:
+----+----+----+----+
|col1|col2|col3|col4|
+----+----+----+----+
| A| 100|jose| 1|
| B| 70|jose| 1|
| C| 50|jose| 1|
| A| 100| li| 2|
| B| 70| li| 2|
| C| 50| li| 2|
| A| 100| liz| 3|
| B| 70| liz| 3|
| C| 50| liz| 3|
+----+----+----+----+
你实际上要求 crossJoin
-
df = df1.crossJoin(df2)
df.show()
+----+----+----+----+
|col1|col2|col3|col4|
+----+----+----+----+
| A| 100|jose| 1|
| A| 100| li| 2|
| A| 100| liz| 3|
| B| 70|jose| 1|
| B| 70| li| 2|
| B| 70| liz| 3|
| C| 50|jose| 1|
| C| 50| li| 2|
| C| 50| liz| 3|
+----+----+----+----+
我需要将数据帧值添加到指定列中的每个不同值
例如
df1:
+----+----+
|col1|col2|
+----+----+
| A| 100|
| B| 70|
| C| 50|
+----+----+
df2:
+----+----+
|col3|col4|
+----+----+
|jose| 1|
| li| 2|
| liz| 3|
+----+----+
生成的 df 应如下所示:
+----+----+----+----+
|col1|col2|col3|col4|
+----+----+----+----+
| A| 100|jose| 1|
| B| 70|jose| 1|
| C| 50|jose| 1|
| A| 100| li| 2|
| B| 70| li| 2|
| C| 50| li| 2|
| A| 100| liz| 3|
| B| 70| liz| 3|
| C| 50| liz| 3|
+----+----+----+----+
你实际上要求 crossJoin
-
df = df1.crossJoin(df2)
df.show()
+----+----+----+----+
|col1|col2|col3|col4|
+----+----+----+----+
| A| 100|jose| 1|
| A| 100| li| 2|
| A| 100| liz| 3|
| B| 70|jose| 1|
| B| 70| li| 2|
| B| 70| liz| 3|
| C| 50|jose| 1|
| C| 50| li| 2|
| C| 50| liz| 3|
+----+----+----+----+