2016-06-27 15 views
5

Ich habe die folgenden zwei Datenrahmen:pyspark: merge (Außen-Join) zwei Datenrahmen

DF1: 

    Id | field_A | field_B | field_C | field_D 
    1 | cat | 12  | black | 11 
    2 | dog | 128  | white | 19 
    3 | dog | 35  | yellow | 20 
    4 | dog | 21  | brown | 4 
    5 | bird | 10  | blue | 7 
    6 | cow | 99  | brown | 34 

und

DF2: 

    Id | field_B | field_C | field_D | field_E 
    3 | 35  | yellow | 20  | 123 
    5 | 10  | blue | 7  | 454 
    6 | 99  | brown | 34  | 398 

Und ich bin der Hoffnung, die new_DF als

Id | field_A | field_B | field_C | field_D | field_E 
    1 | cat | 12  | black | 11  | 
    2 | dog | 128  | white | 19  | 
    3 | dog | 35  | yellow | 20  | 123 
    4 | dog | 21  | brown | 4  | 
    5 | bird | 10  | blue | 7  | 454 
    6 | cow | 99  | brown | 34  | 398 
zu erhalten

Konnte dies durch Datenrahmenoperationen erreicht werden? Vielen Dank!

Antwort

8

versuchen Sie dies:

new_df = df1.join(df2, on=['field_B', 'field_C', 'field_D'], how='left_outer')