2017-05-18 1 views
0

ersetzt werden Ich habe zwei Datenrahmen: DF1 und DF2Merge Datenrahmen in einen anderen Datenrahmen alle Duplikate Werte contaning, und die unterschiedliche durch Zeichenfolge

Index1=[5,10,15,20] 
Index2=[5,10,13,15,20] 
d1 = {'a' : pd.Series([1., 6., 3., 2.], index=Index1)} 
d2 = {'a' : pd.Series([1., 5., 3., 2.], index=Index1)} 
df1=pd.DataFrame(d1) 
df2=pd.DataFrame(d2) 

     a 
5 1.0 
10 6.0 
15 3.0 
20 2.0  

     a 
5 1.0 
10 5.0 
15 3.0 
20 2.0 

Ich möchte, dass sie in eine andere Datenrahmen verschmelzen und einen Ausgang erhalten wie folgt aus:

 a 
5 1.0 
10 DIFF 
15 3.0 
20 2.0 

Thanx viel für Ihre Hilfe

Antwort

1

können Sie mask verwenden astype und fillna:

df1.mask((df1 - df2).astype(bool)).fillna('DIFF') 

Ausgang:

 a 
5  1 
10 DIFF 
15  3 
20  2 
Verwandte Themen