Ich habe mehrere alte Tabellen, die ich mit neuen Tabellen vergleichen muss, und ich möchte Pandas verwenden, um sie zu vergleichen.Pandas Fehler beim Vergleich zweier Datenrahmen mit Sortierung
Die Daten sieht etwa so aus:
data_old = [
["John", 1,2,3,None],
["Mary", 1,4,None,"Apples"],
["Jean", None,4,-4,"Peaches"],
]
columns = ['name', "A", "B", "C", "D"]
data_new = [
["Jean", 5,4,-4,"Peaches"],
["John", 1,-2,3,None],
["Mary", 1,4,None,"Apples"],
]
Hier haben wir zwei relativ kleine Datenmengen, und die Werte können Text-, Zahlen- oder NULL sein. Ich wollte Teildatensätze mit den Änderungen erstellen und Berichtsdatenrahmen in einen CSV exportieren.
Mein Problem ist das, wenn ich beide Datenrahmen sortieren nach 'name', ich die folgende Fehlermeldung erhalten:
ValueError: Can only compare identically-labeled DataFrame objects
Hier ist, was ich tue:
df_old = pd.DataFrame(data=data_old, columns=columns)
df_old.sort(columns='name', inplace=True)
df_new = pd.DataFrame(data=data_new, columns=columns)
df_new.sort(columns='name', inplace=True)
ne = (df_old != df_new).any(1) #ERROR
# to other stuff.....
Ich erscheinen keine sort_values Funktion zu haben. Ich denke, in meiner Version ist es noch nicht veraltet. Version: '0.16.1' –
Ja, ich benutze Version '0.19.1' – jezrael