Séries temporelles dans Pandas
DatetimeIndex, resample(), rolling(), shift(), génération de plages de dates et rééchantillonnage.
Séries temporelles dans Pandas est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Le temps dans pandas
pandas prend en charge les dates et heures nativement. Convertir des chaînes en horodatages et indexer selon le temps permet d’utiliser le rééchantillonnage, les fenêtres glissantes et les caractéristiques de décalage.
Analyser avec to_datetime
pd.to_datetime convertit des chaînes ou des nombres en objets Timestamp appropriés, en détectant automatiquement la plupart des formats courants.
import pandas as pd
d = pd.to_datetime(["2026-01-01", "2026-01-05", "2026-02-10"])
print(d)
print(d.dtype) # datetime64[ns]Générer des dates avec date_range
pd.date_range construit une séquence d’horodatages régulièrement espacés. Le code freq contrôle le pas : D pour les jours, H pour les heures, M pour la fin du mois, etc.
rng = pd.date_range("2026-01-01", periods=5, freq="D")
print(rng)
# 2026-01-01 ... 2026-01-05Créer un DatetimeIndex
Définir une colonne de dates et heures comme index crée un DatetimeIndex, qui permet le découpage tenant compte du temps ainsi que l’utilisation des outils resample et rolling.
ts = pd.Series([10, 12, 9, 15, 11],
index=pd.date_range("2026-01-01", periods=5, freq="D"))
print(ts)Découpage par chaîne partielle
Avec un DatetimeIndex, vous pouvez découper les données à partir de dates partielles : une chaîne représentant une année ou un mois sélectionne toutes les lignes correspondantes.
monthly = pd.Series(range(60),
index=pd.date_range("2026-01-01", periods=60, freq="D"))
print(monthly["2026-02"].head()) # all of FebruaryRééchantillonner avec resample
resample est l’équivalent de groupby pour le temps. Rééchantillonnez à une fréquence plus grossière, puis agrégez, par exemple en transformant des données quotidiennes en sommes hebdomadaires.
weekly = monthly.resample("W").sum()
print(weekly.head())Suréchantillonnage et remplissage
Rééchantillonner à une fréquence FINER crée des valeurs manquantes. Combinez cette opération avec .ffill() pour propager la dernière valeur vers l’avant.
hourly = ts.resample("12H").ffill()
print(hourly.head())Fenêtres glissantes
rolling(window) calcule une statistique sur une fenêtre glissante, à la base des moyennes mobiles qui lissent les séries bruitées.
roll = monthly.rolling(window=7).mean()
print(roll.head(10)) # first 6 are NaN (not enough history)Variantes des fenêtres glissantes
Toute réduction fonctionne sur une fenêtre glissante : mean, sum, std, min, max. Un std glissant sur 7 jours mesure la volatilité récente.
vol = monthly.rolling(7).std()
print(vol.tail())Créer des décalages avec shift
shift(n) décale les valeurs de n périodes vers l’avant, ce qui crée des caractéristiques de décalage et permet de calculer les variations d’une période à l’autre.
df = pd.DataFrame({"sales": [100, 110, 105, 130]})
df["prev"] = df["sales"].shift(1)
df["pct_change"] = (df["sales"] - df["prev"]) / df["prev"]
print(df)Extraire les composantes de date
L’accesseur .dt expose des composantes telles que l’année, le mois et le jour de la semaine, qui sont utiles comme caractéristiques de modèle.
s = pd.Series(pd.date_range("2026-01-01", periods=3, freq="D"))
print(s.dt.dayofweek) # 0=Monday
print(s.dt.month)Vérification rapide
Testez vos connaissances sur les séries temporelles.
Récapitulatif
Boîte à outils des séries temporelles :
pd.to_datetimepour analyser,pd.date_rangepour générer- Un
DatetimeIndexpermet le découpage par chaîne partielle resample(freq).agg()pour le suréchantillonnage et le sous-échantillonnagerolling(window)pour les statistiques mobilesshift(n)pour les décalages ;.dtpour les composantes de date
Questions Fréquemment Posées
La leçon « Séries temporelles dans Pandas » est-elle gratuite ?
Oui — le texte complet de « Séries temporelles dans Pandas » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Séries temporelles dans Pandas » ?
DatetimeIndex, resample(), rolling(), shift(), génération de plages de dates et rééchantillonnage. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Séries temporelles dans Pandas » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- GroupBy et agrégation
- Tableaux croisés dynamiques et tableaux de contingence
- Fusion et jointure avancées
- Séries temporelles dans Pandas