Ich habe zwei Datenframes df1 und df2, die ich einige Zeilen teilen soll. Das heißt, für einige Indizes ist (i, j) _n df1.loc [i] == df2.loc [j] genau. Ich möchte diese Korrespondenz finden.identifizieren, welche Zeilen in einem anderen Datenframe vorhanden sind
Dies war ein schwieriges Problem zu finden. Ich möchte nicht "manuell" nach jeder der Spalten für jede Zeile fragen, also habe ich nach etwas saubererem gesucht.
Dies ist das Beste, was ich habe, aber es ist nicht schnell. Ich hoffe, dass ein Guru mich in die richtige Richtung lenken kann.
matching_idx=[]
for ix in df1.index:
match =df1.loc[ix:ix].to_dict(orient='list')
matching_idx.append(df2.isin(match).all(axis=1) )
Es wäre schön, die for-Schleife loszuwerden, aber ich bin mir nicht sicher, dass es möglich ist.
Ich glaube PYOak hat man in der Einfachheit schlagen – user3391229
Aber Sie verlieren die Indexposition der Zeile das Duplikat enthält. Beachten Sie, dass das erste Beispiel bei "1" indiziert ist, die Position des "dup" in "df1". Das zweite Beispiel ist mit "0" indiziert, der Ort des Duplikats in "df2". – Alexander
Agh du hast Recht. Ich gebe Ihnen die richtige Antwort, um die beste Antwort auf die Frage zu geben, obwohl ich die Lösung von PYOak implementiere. – user3391229