Données calendaires et temporelles
en langage python
L'essentiel de cette page
Lorsqu'on souhaite faire des graphiques ou des analyses et qu'une de nos variables représente des dates ou des heures. La question se pose aussitôt de la reconnaissance de ces dates.
Prenons des dates et convertissons les en tableau :
dates = ["04-06-2021","05-06-2021","06-06-2021","07-06-2021","10-06-2021","15-06-2021"]
variable_y = [1,2,3,4,6,7]
import pandas as pd
tablo = pd.DataFrame({"temps":dates,"Y":variable_y}) ; print(tablo.head(3))
A ce stade, les dates ne sont pas reconnues comme des données numériques et l'on ne peut tracer Y = f(temps).
On va donc forcer la reconnaissance de ces dates :
from datetime import datetime
tablo.temps = [datetime.strptime(valeur, "%d-%m-%Y") for valeur in tablo.temps]
On va pouvoir alors tracer un graphique
import matplotlib.pyplot as plt
plt.plot(tablo.temps,tablo.Y)
plt.show()
Pour aller plus loin afin d'ajouter d'autres format de dates et y incluant les heures, les minutes (12:00 <=> "%H:%M")...
https://www.programiz.com/python-programming/datetime/strptime
Une fonction utile : datetime.timedelta pour calculer des différences de temps.
Autre approche à développer avec le module astropy (qui gère beaucoup de formats calendaires)
# Données temporelles à convertir
time = [2459046.50004267, 2459046.50008897, 2459046.50013527]
# astropy module de données astronomiques (conversion des données)
from astropy.time import Time
time = Time(time, format = 'jd')
import matplotlib.pyplot as plt
plt.plot(time.plot_date, [1,3,2])
plt.show()
Source externe : https://docs.astropy.org/en/stable/api/astropy.time.TimePlotDate.html