【发布时间】:2022-01-22 05:19:52
【问题描述】:
我想在 Pyspark 中创建具有两个不同条件和一个数据框的列:df = dataframe[col1, col2] where
col1 = 根据 df_A::MTAV = df_B::CODE 加入 df_A 和 df_B
col2 = 根据 df_A::MTAP = df_B::CODE 将 df_A 与 df_B 连接
如何在数据框中创建两列?
【问题讨论】:
我想在 Pyspark 中创建具有两个不同条件和一个数据框的列:df = dataframe[col1, col2] where
col1 = 根据 df_A::MTAV = df_B::CODE 加入 df_A 和 df_B
col2 = 根据 df_A::MTAP = df_B::CODE 将 df_A 与 df_B 连接
如何在数据框中创建两列?
【问题讨论】:
您在这里没有提到 col1 和 col2 所需的逻辑。您可以实现如下逻辑,在两个不同的数据帧中实现连接,然后将两个新数据帧与新列连接在一起。
df_mtav = (df_a
.join(df_b, df_a.mtav == df_b.code)
.withColumn("mtav_col", <column logic here>)
)
df_mtap = (df_a
.join(df_b, df_a.mtap == df_b.code)
.withColumn("mtap_col", <column logic here>)
)
df_final = (df_mtav
.join(df_mtap, df_mtap.code == df_mtav.code)
)
【讨论】: