2017-11-03 2 views
2

Lassen Sie uns sagen, ich habe df1:Python Pandas - get Stück Datenrahmen basierend auf den Werten in der Spalte von anderen Datenrahmen

m n 
0 a 1 
1 b 2 
2 c 3 
3 d 4 

und df2:

n k 
0 1 z 
1 2 g 

Ich möchte nur das Stück bekommen df1 wobei die Werte der Spalte 'n' die gleichen sind wie die in df2:

Was ist der beste Weg, dies zu tun? Es erschien mir zunächst trivial, aber dann hat überraschenderweise nichts, was ich versucht habe, funktioniert. Zum Beispiel habe ich versucht,

df1[df1["n"] == df2["n"]] 

aber das gab mir

ValueError: Can only compare identically-labeled Series objects 

Antwort

3

Sie suchen isin

df1.loc[df1.n.isin(df2.n),:] 
+0

Wen! Immer der Erste, der hilft: D Danke, das ist genau das, was ich brauchte –

+1

@ P.Prunesquallor Einfach mal die Frage-Queue checken und den Fragesteller aussuchen, den ich zuerst kenne .. :-), es ist offensichtlich, ich kenne dich: -) – Wen

+1

@ P.Prunesquallor, um diese Lösung zu verbessern und zu akzeptieren. –

Verwandte Themen