如何根据与另一个数据帧的列的相似之处更新 Pyspark 数据帧的列?



>我正在使用 2 个数据帧,假设"df1"和"df2",它们是下一个:

DF1:

+--------+--------+
|  Col1  |  Col2  |
+--------+--------+
|  'A'   |  1     |
+--------+--------+
|  'B'   |  2     |
+--------+--------+
|  'C'   |  3     |
+--------+--------+

DF2:

+--------+--------+
|  Col1  |  Col2  |
+--------+--------+
|  'A'   |  -     |
+--------+--------+
|  'B'   |  -     |
+--------+--------+
|  'B'   |  -     |
+--------+--------+
我想做的是更新"df2">

的"Col2"列,同时考虑到"df1"的值。我的意思是,我想根据具有"Col1"值的引用,将"df2"Col2"的值设置为"df1"Col2"的值。

生成的数据帧"df2"应为:

+--------+--------+
|  Col1  |  Col2  |
+--------+--------+
|  'A'   |  1     |
+--------+--------+
|  'B'   |  2     |
+--------+--------+
|  'B'   |  2     |
+--------+--------+

如何使用 pyspark 数据帧执行此操作?

一个简单的左连接应该可以,

df2.join(df1,df1.col1==df2.col1,'left')

最新更新