Beim Arbeiten mit XML-Dateien stoßen Sie möglicherweise auf Zeitstempel im Excel-Format, z. B. 42580.3333333333. Glücklicherweise bietet Pandas eine unkomplizierte Methode zum Konvertieren dieser numerischen Werte in reguläre Datetime-Objekte.
Um diese Konvertierung durchzuführen, verwenden wir zwei Schlüsselkomponenten: einen TimedeltaIndex und einen skalaren Datetime-Wert. Der TimedeltaIndex wird aus den Float-Werten im Excel-Stil erstellt und stellt die Anzahl der Tage seit einem bestimmten Datum dar. Indem wir diesen TimedeltaIndex zur skalaren Datumszeit für den 1. Januar 1900 hinzufügen, passen wir den Zeitstempel effektiv an das entsprechende Datum und die entsprechende Uhrzeit an.
Hier ist ein Beispiel, um diesen Prozess zu demonstrieren:
import pandas as pd import datetime as dt df = pd.DataFrame({'date': [42580.3333333333, 10023]}) df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1900, 1, 1) print(df)
Ausgabe :
date real_date 0 42580.333333 2016-07-31 07:59:59.971200 1 10023.000000 1927-06-12 00:00:00.000000
Alternativ, wenn Sie es mit Datumsangaben zu tun haben, die aus dem Datumssystem von Excel stammen, die am 30. Dezember 1899 beginnt, können Sie die Umrechnung wie folgt anpassen:
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1899, 12, 30)
Diese Korrektur gleicht die Daten mit dem internen Datumssystem von Excel aus und gewährleistet so genaue Datumsumrechnungen.
Das obige ist der detaillierte Inhalt vonWie können Pandas Daten im Excel-Stil in Standard-Datetime-Objekte konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!