Maison >développement back-end >Tutoriel Python >Comment convertir des dates à virgule flottante de style Excel en objets Datetime Pandas ?

Comment convertir des dates à virgule flottante de style Excel en objets Datetime Pandas ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 12:57:10860parcourir

How to Convert Excel-Style Floating-Point Dates to Pandas Datetime Objects?

Conversion de dates de style Excel avec Pandas

Lors de l'analyse de dates à partir de fichiers Excel, vous pouvez rencontrer des dates représentées sous forme de nombres à virgule flottante, tels que 42580.3333333333. Pandas fournit un moyen pratique de convertir ces dates Excel en objets datetime normaux.

Pour ce faire, vous pouvez créer un TimedeltaIndex à partir des numéros de date Excel, en ajoutant la datetime scalaire pour 1900,1,1 à l'index. Cela convertira les dates Excel en objets datetime correspondants :

import pandas as pd
df = pd.DataFrame({'date': [42580.3333333333, 10023]})
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + pd.datetime(1900, 1, 1)

Cependant, il est important de noter qu'Excel utilise un système de date différent de celui de Pandas, l'époque étant le 30 décembre 1899 au lieu du 1er janvier. , 1900. Pour en tenir compte, vous devrez peut-être ajuster la date de début :

df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + pd.datetime(1899, 12, 30)

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