2015-09-09 14 views
5

Ich habe zwei Datenrahmen, die ich zusammenführen möchte. DF1 hat diese FormErweitern und zusammenführen Pandas Datenrahmen

index c1 c2 
a1 1 2 
a1 2 1 
a1 3 1 
b1 5 2 
b1 4 7 

DF2 einen weiteren Satz von Daten, die eine verkürzte Version des Index

index c3 c4 
a1  9 10 
b1  7 8 

teilt würde Ich mag DF1 füllen mit den Daten von DF2

index c1 c2 c3 c4 
a1 1 2 9 10 
a1 2 1 9 10 
a1 3 1 9 10 
b1 5 2 7 8 
b1 4 7 7 8 

Was ist der effizienteste Weg, dies zu tun?

Antwort

3

Sie möchten einen outer merge und eingestellt tun left_index=True, right_index=True:

In [65]: 
DF1.merge(DF2, how='outer', left_index=True, right_index=True) 

Out[65]: 
     c1 c2 c3 c4 
index     
a1  1 2 9 10 
a1  2 1 9 10 
a1  3 1 9 10 
b1  5 2 7 8 
b1  4 7 7 8 

Außen join auch funktionieren würde:

In [66]: 
DF1.join(DF2, how='outer') 

Out[66]: 
     c1 c2 c3 c4 
index     
a1  1 2 9 10 
a1  2 1 9 10 
a1  3 1 9 10 
b1  5 2 7 8 
b1  4 7 7 8 
+0

Perfect, danke – taylormade201

Verwandte Themen