@KrachBumm: Tabellenkalkulationen bieten zur Berechnung oft die Option "Rechne mit Genauigkeit wie angezeigt". Damit eben das selbe Ergebnis rauskommt, wie es der menschliche Buchhalter mit Bleistift und Papier ausrechnen würde. Möglicherweise nutzt ihr diese Einstellung, denn für Fakturierungen ist es wichtig mit einer festgelegten Zahl signifikanter Stellen zu rechen; für wissenschaftliche Anwendungen gilt dies eher weniger. Und mit den hardwareunterstützten Zahlenformaten, die Pandas (resp. numpy) nutzt, ist dies auch nicht möglich.KrachBumm hat geschrieben:In Excel sind es nur 3 bzw 2 Nachkommastellen. Und meine Kollegin möchte das auch so gerechnet haben. Ich lese auch die Excel über pandas ein, soweit bin ich auch schon gekommen ^^
Ob dies die Größenordung der von Dir beobachteten Differenzen erklärt, ist ohne Einsicht in die Daten nicht zu eindeutig beantworten.
Aber nehmen wir einmal an, die Angaben für KWs wären auf drei Nachkommastellen genau. Dann beträgt die größte Abweichung zwischen der internen Darstellung und der angezeigten kaufmännischen Rundung 0.0005. Gehen wir von diesem Wert aus und nehmen zudem an, diese Differenz wäre für alle Werte konstant und ginge in die gleiche Richtung. Weiter nehmen wir an, Pandas würde mit der internen Genauigkeit rechen, Excel (oder Deine Kollegin) dagegen mit der Genauigkeit der angezeigten kaufmännischen Rundung. Bei 400.000 Zahlen beträgt der maximale Fehler dann 200 KW, was gemäß Deinen Angaben sogar einen Unterschied von 50.000 € ausmacht.
D.h. Deine Abweichungen sind zumindest plausibel unter der Annahme, dass Excel nur mit der angezeigten Genauigkeit rechnet, diese Daten aber ohne jede Rundung exportiert (in Deinem Fall an Pandas).
Für solche kaufmännische Berechnungen bietet Python das Modul Decimal.