2017-12-04 4 views
1

Ich versuche, den Wert auf der rechten Seite der Spalte zu überprüfen.Vlookup auf der rechten Seite einer Spalte

df1

 EW WE DA dd  AA 
0 cheese 0 300 T  T 
1 dwadaw 3 400 21 31232 

df 2

 AD FA  BA DA daw ddwad 
0 dddddd 1  300 T  T  T 
1 cheese 1  400 21 31232 NaN 
2 chees dwa waddcv 3 NaN NaN 

Wunsch:

 AD FA  
0 cheese 1  

Ich versuche:

df3 = df2[['AD', 'FA']].copy() 
    df3.FA=np.where(df2.AD.isin(df1.EW),df3.FA,np.nan) 
    print (df3) 

I-Ausgang identisch mit AD und FA in df2 bekommen

df3 = df2[df2.AD.isin(df1.EW)] gibt: df3 = df2[df2.AD.isin(df1.EW)] cheese 1.0 300 T T

Antwort

0

Ich glaube, Sie brauchen:

df3 = df2[df2.AD.isin(df1.EW)] 
df3 = df3[['AD','FA']] 
print (df3) 
     AD FA 
1 cheese 1 
+0

Für mich dieser gibt Käse 1, dwadaw 3, Käse DWA. Ich denke, es kopiert AD und FA und Käse 1 erscheint nicht. –

+0

Vielleicht mit dieser Methode aber mit leeren Datenrahmen? –

+0

Hmmm, vielleicht ein Problem mit Daten wie nachlaufende Leerzeichen "Käse". – jezrael

Verwandte Themen