比较两个数据帧以在pyspark中创建一个新数据帧

loading...


-1

我是PySpark的新手,因此我就是这个问题 .

我有两个数据框 df1df2 ,列 A, B and C . 只有Col C在这两个数据帧中可以有不同的值 . 如何比较 df1df2 并使用 A, B C 列创建df3,其中只有 AB 之间的 C 值不同的行

任何帮助赞赏 .

1回答

  • 1

    内部连接和过滤器

    from pyspark.sql.functions import col
    
    df1.alias("df1").join(df2.alias("df2"), ["a", "b"]).where(col("df1.c") != col("df2.c"))
    

    如果您还想处理缺失值

    df1.alias("df1").join(df2.alias("df2"), ["a", "b"], "fullouter").where(
        ~col("df1.c").eqNullSafe(col("df2.c"))
    )
    

loading...

评论

暂时没有评论!