簡體   English   中英

如何在pyspark中比較兩個不同數據框中的兩列

[英]How to compare two columns in two different dataframes in pyspark

我想將一個dataframe1中的“ pitid”與另一個dataframe2中的“ pitid”進行比較,並想提取dataframe1中缺少的行。

dataframe1:

 | id|marks|name|      pitid|
+---+-----+----+-----------+
|  1|    1|  FR| 1496875194|
|  2|    1|  US| -744211593|
|  5|    2|  DE|-1433680238|
|  4|    1|  DE| -366408878|
|  3|    3|  DE|  526286357|
+---+-----+----+-----------+

dataframe2:

| id|marks|name|      pitid|
+---+-----+----+-----------+
|  1|    1|  FR| 1496875194|
|  7|    9|  HY| -816101137|
|  6|    5|  FE| 1044793796|
|  2|    1|  US| -744211593|
|  5|    2|  DE|-1433680238|
|  4|    1|  DE| -366408878|
|  3|    3|  DE|  526286357|
+---+-----+----+-----------+

預期輸出:

|  7|    9|  HY| -816101137|
|  6|    5|  FE| 1044793796|

您可以使用joins

val diff = df2.join(df1,df2.col("pitid")!=df1.col("pitid"),"left")

如果所有列的值將在這兩個數據幀是相同的,那么你可以使用except

df2.subtract(df1)

兩者都將在dataframe2中提供記錄,但不會在dataframe1中提供記錄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM