Lorsque vous travaillez avec des fichiers XML, vous pouvez rencontrer des horodatages au format de style Excel, tels que 42580.3333333333. Heureusement, Pandas propose une méthode simple pour convertir ces valeurs numériques en objets datetime réguliers.
Pour réaliser cette conversion, nous utilisons deux composants clés : un TimedeltaIndex et un datetime scalaire. Le TimedeltaIndex est créé à partir des valeurs flottantes de style Excel, représentant le nombre de jours depuis une date particulière. En ajoutant ce TimedeltaIndex à la date/heure scalaire du 1er janvier 1900, nous ajustons efficacement l'horodatage à la date et à l'heure correspondantes.
Voici un exemple pour démontrer ce processus :
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)
Sortie :
date real_date 0 42580.333333 2016-07-31 07:59:59.971200 1 10023.000000 1927-06-12 00:00:00.000000
Alternativement, si vous avez affaire à des dates provenant de la date d'Excel système, qui commence le 30 décembre 1899, vous pouvez ajuster la conversion comme suit :
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1899, 12, 30)
Cette correction aligne les dates avec le système de date interne d'Excel, garantissant des conversions de dates précises.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!