Ich benutze Pandas und habe zwei csv importiert.Pandas to_csv export geben falsche Werte in einem Datenrahmen
df1 ist
DF2 ist
Der Datentyp von DF2 ist
Wenn ich tue, einige Manipulation auf DF1 und DF2:
df3= pd.merge(df1, df2, how='left', on=['Origin City Code', 'DC'])
und dann
df3.to_csv("test.CSV")
dann die Summe aller Werte in der Spalte „Volume“ entsprechen, wird nicht der Summe der Werte unter Spalten CSV-Export von Original DF2. Tatsache ist, dass die Summe in DF3 mehr ist. Ich glaube, dass das Problem aufgrund von Gleitkommazahlen kommt. Aber gibt es einen Weg, es zu lösen? Ich habe die folgenden Links durchgesehen, aber meine Frage bleibt unbeantwortet.
https://github.com/pydata/pandas/issues/2069
reading and writing csv in pandas changes cell values
Wrong decimal calculations with pandas
Hier ist der Code-Dateien verwende ich: https://www.dropbox.com/s/kjpnhl7qtojes92/sample.rar?dl=0
Haben Sie Wiederholung '[' Origin City Code ',' DC '] 'Zeilen in' df1'? Dies würde dazu führen, dass sich im zusammengelegten DataFrame wiederholte Volumes befinden, was die größere Summe erklärt. – root
@root .. kein wiederholter Wert in DF1. Ich habe – Ajeet
überprüft Ich meine nicht Wiederholungen als Ganzes, nur auf der "['Origin City Code', 'DC'] 'Teilmenge, dh' df.duplicated (Teilmenge = [' Origin City Code ',' DC ']) .any() '. Wie viel kostet die Summe? Können Sie ein reproduzierbares Beispiel geben? Ich kann den Fehler nicht mit den Daten reproduzieren, die Sie angezeigt haben. – root