Größe habe ich einige Probleme zwei Datenrahmen in der Art und Weise zu vergleichen, ich möchte:vergleichen Kreuzung bestimmter Spalten von Datenrahmen unterschiedlicher
df1=pd.DataFrame({"code1": ['A', 'B', 'C', 'C','D'],
"code2": ["1", "0", "1", "1","1"],
"column1":['value1','value2','value3','value4','value5']})
code1 code2 column1
0 A 1 value1
1 B 0 value2
2 C 1 value3
3 C 1 value4
4 D 1 value5
df2 = pd.DataFrame({"code1": ['A','B','C'],
"code2": ["0", "0", "1"],
"column2":['valuex','valuey','valuez']})
code1 code2 column2
0 A 0 valuex
1 B 0 valuey
2 C 1 valuez
Dies sind die beiden Datenrahmen ich vergleichen möchten. Ich brauche etwas zu tun, wie
df1[['code1','code2']].isin(df2[['code1','code2']])
mit dem Ziel des Erhaltens das Ergebnis:
code1 code2 column1
0 B 0 value2
1 C 1 value3
2 C 1 value4
Ich möchte sowohl die Zeilen mit gleichen ‚code1‘ und ‚code2‘ in DF1 und DF2 erhalten, und die anderen Spalten von df1. Kennen Sie den besten Weg, dies zu tun? Ich möchte Schleifen vermeiden, ich brauche es effizient. Vielen Dank im Voraus
OK danke! Und was, wenn ich die gelöschten Fälle in einem anderen Datenrahmen behalten möchte ??? –
@ emilio.molina, siehe UPDATE – MaxU
perfekt, vielen Dank !! also 'Indikator' ist der Parameter, der entscheidet, welcher Teil des Datenrahmens du konservierst, nicht wahr? –