簡體   English   中英

如何編寫一個通用的 function 來加入兩個 PySpark 數據幀?

[英]How to write a universal function to join two PySpark dataframes?

如何編寫一個通用的 function 來加入兩個 PySpark 數據幀?

我想寫一個 function 對兩個數據幀執行內連接,並消除連接后重復的公共列。 據我所知,沒有辦法做到這一點,因為我們總是需要在加入時手動定義公共列。 或者有什么辦法嗎?

如果您需要在連接條件中包含所有公共列,則可以將它們提取到列表中並傳遞給join() 加入后,只需對這些相同的列調用drop即可將它們從結果中刪除。

common_cols = list(set(df.columns).intersection(set(df2.columns)))

df3 = df.join(df2, common_cols, how='inner').drop(*common_cols)

暫無
暫無

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

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