So habe ich zwei Datenfelder, bestehend aus 6 Spalten, die jeweils Zahlen enthalten. Ich muss 1 Spalte von jedem Datenrahmen vergleichen, um sicherzustellen, dass sie alle Werte in dieser Spalte übereinstimmen und korrigieren, die nicht übereinstimmen. Spalten sind bereits sortiert und sie stimmen in der Länge überein. Bisher kann ich die Unterschiede in den Spalten finden:Vergleichen Sie zwei Spalten in Pandas, damit sie übereinstimmen
df1.loc[(df1['col1'] != df2['col2'])]
dann bekomme ich den Index # wo df1
nicht df2
entspricht. Dann werde ich auf den gleichen Index # in df2
gehen, was Wert in col2, um herauszufinden, verursache eine Diskrepanz dann diese verwendet den Wert auf den richtigen in df2
gefunden zu ändern:
df1.loc[index_number, 'col1'] = new_value
Gibt es eine Möglichkeit, Kann die Abweichungen automatisch korrigieren, ohne manuell nachsehen zu müssen, was der korrekte Wert in df2
sein sollte?
Sie sollten in der Lage sein zu tun 'df1 überprüfen müssen [DF1! = DF2] = new_value' oder ähnliche – EdChum
Ich bin sicher, es gibt einen Weg zu Mach was du brauchst. Das Problem ist das Erklären, was das ist. Ich weiß nicht, ob Sie die erste Spalte von df1 und die zweite Spalte von df2 wollen. Ist df2 immer die Quelle des neuen Wertes? Sie können die Verwirrung beheben, indem Sie Ihren Beitrag mit einem handgebauten Beispiel bearbeiten, wie es funktionieren soll. – piRSquared