Maison >développement back-end >Tutoriel Python >Comment les Pandas peuvent-ils convertir des dates de style Excel en objets Datetime standard ?

Comment les Pandas peuvent-ils convertir des dates de style Excel en objets Datetime standard ?

DDD
DDDoriginal
2024-12-01 10:56:111084parcourir

How Can Pandas Convert Excel-Style Dates to Standard Datetime Objects?

Conversion de dates de style Excel avec des Pandas

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn