Maison >développement back-end >Tutoriel Python >Comment convertir entre « datetime », « Timestamp » et « datetime64 » en Python ?

Comment convertir entre « datetime », « Timestamp » et « datetime64 » en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-12 20:00:22987parcourir

How to Convert Between `datetime`, `Timestamp`, and `datetime64` in Python?

Conversion entre datetime, Timestamp et datetime64

La conversion entre différentes représentations temporelles est souvent nécessaire lorsque l'on travaille avec des données. Un scénario courant consiste à convertir entre les objets numpy.datetime64, datetime.datetime et Timestamp.

numpy.datetime64 est un objet NumPy représentant une date et une heure avec une précision de la nanoseconde. Pour convertir un objet datetime.datetime ou Timestamp en datetime64, vous pouvez utiliser le constructeur np.datetime64().

datetime.datetime est un objet Python représentant une date et une heure en microsecondes précision. Pour obtenir un datetime.datetime à partir d'un objet datetime64 ou Timestamp, utilisez la méthode to_datetime() de l'objet correspondant.

Timestamp est un objet Pandas représentant une date et une heure avec une précision de la nanoseconde. Pour créer un Timestamp à partir d'un objet datetime.datetime ou datetime64, vous pouvez utiliser le constructeur pd.Timestamp().

À titre d'exemple, considérons les objets suivants :

dt = datetime.datetime(2012, 5, 1)
# A strange way to extract a Timestamp object, there's surely a better way?
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)

Pour convertir ces objets entre différentes représentations, vous pouvez utiliser le code suivant :

# Convert datetime64 to datetime
datetime_from_dt64 = dt64.astype(datetime.datetime)

# Convert Timestamp to datetime
datetime_from_ts = ts.to_datetime()

# Convert datetime to Timestamp
timestamp_from_dt = pd.Timestamp(dt)

Rappelez-vous que ces conversions peuvent entraîner une perte de précision due aux différentes échelles de temps utilisées par chaque représentation.

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