Pyspark:如何在不同条件的数据框中创建列
Posted
技术标签:
【中文标题】Pyspark:如何在不同条件的数据框中创建列【英文标题】:Pyspark : How can create the columns in dataframe with differents condition 【发布时间】: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 连接
如何在数据框中创建两列?
【问题讨论】:
【参考方案1】:您在这里没有提到 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)
)
【讨论】:
以上是关于Pyspark:如何在不同条件的数据框中创建列的主要内容,如果未能解决你的问题,请参考以下文章
如何使用实际数据帧中两列中的值索引另一个数据帧,从而在实际数据框中创建列