pyspark.pandas.DataFrame.join

DataFrame。 加入 ( 正確的:pyspark.pandas.frame.DataFrame,:聯盟(任何元組(,…),列表(聯盟[任何元組[,…]]],沒有)=沒有一個,如何:str=“左”,lsuffix:str=,rsuffix:str= )→pyspark.pandas.frame.DataFrame

另一個DataFrame的連接列。

連接列的正確的DataFrame在索引或鍵列。有效地加入多個DataFrame對象通過索引通過一個列表。

參數
右:DataFrame係列
:str, str列表或數組類,可選的

列或索引級別名稱(s)在調用者加入的指數正確的,否則加入index-on-index。如果多個值,正確的DataFrame必須有MultiIndex。可以通過數組中包含的連接鍵如果尚未調用DataFrame。像一個Excel VLOOKUP操作。

如何:{‘左’,‘正確的’,‘外’,‘內在’},默認“左”

如何處理兩個對象的操作。

  • 左:使用幀的索引指定(或列)。

  • 右:使用正確的的索引。

  • 外:形成聯盟幀的索引(如果在指定或列)與正確的索引,並排序。字典順序來排序的。

  • 內部:形成的十字路口幀的索引(如果在指定或列)正確的的指數,保留的順序的一個。

lsuffix str,默認”

後綴使用從左幀的重疊的列。

rsuffix str,默認”

後綴使用從正確的框的重疊的列。

返回
DataFrame

一個包含列的dataframe正確的

另請參閱

DataFrame.merge

列(s)列上(s)操作。

DataFrame.update

從另一個DataFrame使用non-NA值修改到位。

DataFrame.hint

指定當前DataFrame一些提示。

廣播

標誌著DataFrame作為使用廣播加入足夠小。

筆記

不支持參數、lsuffix rsuffix當DataFrame對象的列表。

例子

> > >psdf1=psDataFrame({“關鍵”:(“K0”,“K1”,“K2”,“K3”),“一個”:(“A0”,“A1”,“A2”,“A3”)},=(“關鍵”,“一個”])> > >psdf2=psDataFrame({“關鍵”:(“K0”,“K1”,“K2”),“B”:(“B0”,“B1”,“B2”)},=(“關鍵”,“B”])> > >psdf1關鍵的一個0 K0 A01 K1 A12 K2 A23 K3 A3> > >psdf2關鍵B0 K0 B01 K1 B12 K2 B2

加入DataFrames使用他們的索引。

> > >join_psdf=psdf1加入(psdf2,lsuffix=“_left”,rsuffix=“_right”)> > >join_psdfsort_values(通過=join_psdf)key_left key_right B0 K0 A0 K0 B01 K1 A1 K1 B12 K2 A2 K2 B23 K3 A3都沒有

如果我們想加入使用鍵列,我們需要設置鍵的索引在df和正確的。加入DataFrame將關鍵的指標。

> > >join_psdf=psdf1set_index(“關鍵”)加入(psdf2set_index(“關鍵”))> > >join_psdfsort_values(通過=join_psdf)一個B關鍵K0 A0 B0K1 A1 B1K2 a2b2K3 A3沒有

另一個選擇加入使用鍵列是使用參數。DataFrame。加入always uses right’s index but we can use any column in df. This method not preserve the original DataFrame’s index in the result unlike pandas.

> > >join_psdf=psdf1加入(psdf2set_index(“關鍵”),=“關鍵”)> > >join_psdf指數Int64Index ([0, 1, 2, 3], dtype =“int64”)