Travailler avec des écarts temporels

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire vous guide dans le processus de travail avec les écarts temporels en Python à l'aide de la bibliothèque pandas. Un écart temporel représente une durée ou une différence de temps. Nous allons explorer différentes façons de construire, de manipuler et d'opérer sur les écarts temporels.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter Notebook pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Importez les bibliothèques requises

Tout d'abord, nous devons importer les bibliothèques nécessaires. Dans ce cas, nous utiliserons pandas et numpy.

## Import the required libraries
import pandas as pd
import numpy as np
import datetime

Construisez un écart temporel

Créeons un objet Timedelta, qui représente une durée ou une différence de temps.

## Construct a timedelta object
pd.Timedelta("1 days 2 hours")

Convertir en écart temporel

Vous pouvez convertir un scalaire, un tableau, une liste ou une série d'un format d'écart temporel reconnu en un type d'écart temporel.

## Convert a string to a timedelta
pd.to_timedelta("1 days 06:05:01.00003")

Effectuer des opérations

Vous pouvez effectuer des opérations mathématiques sur les écarts temporels.

## Subtract two timedeltas
s = pd.Series(pd.date_range("2012-1-1", periods=3, freq="D"))
s - s.max()

Accéder aux attributs

Vous pouvez accéder directement à divers composants de l'écart temporel.

## Access the days attribute of a timedelta
tds = pd.Timedelta("31 days 5 min 3 sec")
tds.days

Convertir en durée ISO 8601

Vous pouvez convertir un écart temporel en une chaîne de caractères de durée ISO 8601.

## Convert a timedelta to an ISO 8601 Duration string
pd.Timedelta(days=6, minutes=50, seconds=3, milliseconds=10, microseconds=10, nanoseconds=12).isoformat()

Créer un index d'écart temporel

Vous pouvez générer un index avec des écarts temporels.

## Generate a timedelta index
pd.TimedeltaIndex(["1 days", "1 days, 00:00:05", np.timedelta64(2, "D"), datetime.timedelta(days=2, seconds=2)])

Utiliser l'index d'écart temporel

Vous pouvez utiliser l'index d'écart temporel comme index d'objets pandas.

## Use the timedelta index as the index of a pandas series
s = pd.Series(np.arange(100), index=pd.timedelta_range("1 days", periods=100, freq="h"))

Effectuer des opérations avec l'index d'écart temporel

Vous pouvez effectuer des opérations avec l'index d'écart temporel.

## Add a timedelta index to a datetime index
tdi = pd.TimedeltaIndex(["1 days", pd.NaT, "2 days"])
dti = pd.date_range("20130101", periods=3)
(dti + tdi).to_list()

Rééchantillonnage d'un index d'écart temporel

Vous pouvez rééchantillonner des données avec un index d'écart temporel.

## Resample data with a timedelta index
s.resample("D").mean()

Récapitulatif

Dans ce laboratoire, nous avons appris à travailler avec des écarts temporels en Python à l'aide de la bibliothèque pandas. Nous avons vu comment construire un écart temporel, le convertir en écart temporel, effectuer des opérations, accéder à des attributs, le convertir en durée ISO 8601, créer un index d'écart temporel, utiliser l'index d'écart temporel, effectuer des opérations avec l'index d'écart temporel et rééchantillonner un index d'écart temporel. Avec ces compétences, vous pouvez efficacement gérer et manipuler des données basées sur le temps dans vos futurs travaux d'analyse de données.