簡體   English   中英

如何比較兩個pyspark數據幀?

[英]how to compare two pyspark dataframes?

我試圖比較兩個火花數據幀以從兩個數據幀中找到不匹配的值,但我只得到不匹配的 df1 值。 我需要連接 df1 和 df2 的不匹配值。

df1 = spark.read.load("df1.csv", format = "csv", header = "True")
df2 = spark.read.load("df2.csv", format = "csv", header = "True")
sss = df2.subtract(df1)

================== df1 和 df2 ==================== 在此處輸入圖片說明

代碼輸出:

在此處輸入圖片說明

預期輸出將是在此處輸入圖片說明

提前致謝。

如果您的數據已編入索引(具有“id”列),您可以在“id”上加入 df2.subtract(df1) 和 df1.subtract(df2)

df1 = spark.createDataFrame([(1, 1, 1, 1, 1), 
                             (2, 2, 2, 2, 2), 
                             (3, 3, 3, 3, 3)], 
                             schema = ["id", "col1", "col2", "col3", "col4"])

df2 = spark.createDataFrame([(1, 1, 1, 1, 1), 
                             (2, 2, 2, 2, 3),
                             (3, 3, 3 , 3, 4)], 
                             schema = ["id", "col1", "col2", "col3", "col4"])

df_a = df1.subtract(df2)
df_b = df2.subtract(df1)
df = df_a.join(df_b, "id")

產生以下 df

在此處輸入圖片說明

如果沒有可用的索引,則可能無法在沒有匹配列的額外要求的情況下獲得預期輸出。

暫無
暫無

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

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