Aller au contenu
Moncoachdata
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Moncoachdata

Maîtriser NumPy : Le compagnon indispensable pour les Data Lovers

  • Principes de base des tableaux Numpy
  • Inspection de tableaux array de NumPy
  • Opérations sur les tableaux NumPy
  • Travailler avec des tableaux Numpy
  • NumPy pour le nettoyage de données
  • NumPy pour l’analyse statistique
  • NumPy pour l’algèbre linéaire
  • Techniques avancées pour NumPy
  • Optimisation des performances avec NumPy

Pandas : Un manuel complet pour les Data Lovers

  • Structures de données Pandas
  • Chargement et inspection des données dans Pandas
  • Sélection et indexation des données avec Pandas
  • Nettoyage de données avec Pandas
  • Manipulation de données avec Pandas
  • Agrégations de données avec Pandas
  • Visualisations de données avec Pandas
  • Traitement des données de séries temporelles avec Pandas
  • Traitement des données catégorielles avec Pandas
  • Pandas : Sujets avancés

Maîtriser Matplotlib : Un guide complet pour la visualisation de données

  • Tracé de base Matplotlib
  • Types de diagrammes Matplotlib
  • Multiples subplots Matplotlib
  • Matplotlib : Fonctionnalités avancées

Maîtriser Seaborn : Démystifier les diagrammes complexes

  • Introduction Seaborn
  • Diagrammes catégoriels avec Seaborn
  • Diagrammes univariés avec Seaborn
  • Diagrammes bivariés avec Seaborn
  • Diagrammes multivariés avec Seaborn
  • Diagrammes matriciels avec Seaborn

Maîtriser Plotly : Laisse tes visualisations parler à travers Plotly

  • Modules importants de Plotly
  • Diagrammes de base avec Plotly
  • Plotly : diagrammes avancés

Machine Learning : Explorer ses nombreuses formes

  • Comment fonctionne le Machine Learning ?
  • Apprentissage automatique supervisé
  • Apprentissage Automatique non Supervisé
  • Apprentissage semi-supervisé
  • Apprentissage par renforcement
View Categories

Traitement des données de séries temporelles avec Pandas

Les données de séries temporelles (Time Series) consistent en des points de données collectés ou enregistrés à des intervalles de temps spécifiques.

Travailler avec des données de type DateTime #

Les données DateTime sont essentielles pour l’analyse des séries temporelles. Avec pandas, nous n’avons plus à nous préoccuper de cette analyse car il fournit un support robuste pour travailler avec les dates et les heures.

  • pd.to_datetime : Cette méthode te permet de convertir ta série avec datetime en une série pandas datetime grâce à laquelle tu peux faire beaucoup plus d’analyses de manière transparente. Tu peux obtenir l’année, le mois, le jour et les heures.
import pandas as pd

# Exemple de DataFrame avec une colonne DateTime
data = {'DateTime': ['2023-01-01 08:30:00', '2023-02-01 14:45:00', '2023-03-01 20:15:00']}
df = pd.DataFrame(data)

# Convertir la colonne 'DateTime' en DateTime
df['DateTime'] = pd.to_datetime(df['DateTime'])

# Extraire l'année, le mois, le jour et l'heure
df['Year'] = df['DateTime'].dt.year
df['Month'] = df['DateTime'].dt.month
df['Day'] = df['DateTime'].dt.day
df['Hour'] = df['DateTime'].dt.hour

print(df)

Ré-échantillonnage et décalage #

Le ré-échantillonnage (resampling) est le processus de modification de la fréquence de tes données de séries temporelles. Il permet d’agréger ou de transformer les données d’une fréquence temporelle à une autre. Les raisons courantes du ré-échantillonnage sont les suivantes :

  1. Agrégation : Tu peux disposer de données à haute fréquence (quotidienne, par exemple) et vouloir les agréger à une fréquence inférieure (mensuelle, par exemple) afin d’obtenir une vue d’ensemble plus large des données.
  2. Interpolation : Tu peux disposer de données à intervalles irréguliers et vouloir les ré-échantillonner à une fréquence régulière à des fins d’analyse ou de visualisation.

Dans cet exemple, nous ré-échantillonnons les données de ventes quotidiennes à une fréquence mensuelle, en les agrégeant par la somme des ventes pour chaque mois.

import pandas as pd

# Exemple de DataFrame avec des données de ventes quotidiennes
data = {'Date': pd.date_range(start='2023-01-01', periods=40, freq='D'),
        'Sales': [i for i in range(40)]}
df = pd.DataFrame(data)

# Rééchantillonner les données à une fréquence mensuelle, en calculant la somme des ventes.
monthly_sales = df.resample('M', on='Date').sum()

print(monthly_sales)
  • Décalage (shifting) : Également connu sous le nom de décalage temporel ou de déplacement temporel, il s’agit de déplacer des points de données vers l’avant ou vers l’arrière dans le temps. Il est souvent utilisé pour calculer des différences ou des caractéristiques temporelles dans les données de séries temporelles. Les cas d’utilisation courants du décalage sont les suivants :
  1. Calcul des différences : Tu peux calculer la différence entre le point de données actuel et un point de données antérieur ou futur. C’est utile pour comprendre les tendances ou les changements dans les données.
  2. Décalages temporels (Time lag) : Tu peux créer des décalages temporels d’une variable afin d’analyser comment les valeurs passées de cette variable affectent les résultats futurs.

Dans cet exemple, nous calculons les variations de prix sur un jour en soustrayant le prix de la veille du prix du jour.

import pandas as pd

# Exemple de DataFrame avec les cours quotidiens des actions
data = {'Date': pd.date_range(start='2023-01-01', periods=5, freq='D'),
        'Price': [100, 105, 110, 108, 112]}
df = pd.DataFrame(data)

# Calculer les variations de prix sur un jour (décalage d'un jour)
df['Price_Change'] = df['Price'] - df['Price'].shift(1)
df
-------------------------------------------------------------------
output:

Date  Price  Price_Change
0 2023-01-01    100           NaN
1 2023-01-02    105           5.0
2 2023-01-03    110           5.0
3 2023-01-04    108          -2.0
4 2023-01-05    112           4.0

Statistiques de roulement #

Les statistiques de roulement (ou glissantes), également connues sous le nom de calculs roulants (ou glissants), sont une technique courante dans l’analyse des séries temporelles. Elles impliquent l’application d’une fonction statistique à une fenêtre de taille fixe de points de données qui se déplace dans l’ensemble de données un pas à la fois.

Les statistiques de roulement peuvent atténuer le bruit dans les données de séries temporelles, ce qui rend les modèles sous-jacents plus visibles. Elles aident à détecter les tendances ou les modèles dans le temps, comme les moyennes mobiles.

  • Taille de la fenêtre : La fenêtre roulante a une taille fixe que tu spécifies. Cette taille détermine le nombre de points de données pris en compte dans chaque calcul. Par exemple, une taille de fenêtre de 3 signifie que tu prends en compte le point de données actuel et les deux points de données précédents dans chaque calcul.
  • Fonction de roulement : Tu appliques une fonction spécifique aux données uniquement à l’intérieur de la fenêtre de roulement. Les fonctions courantes sont la moyenne, la somme, l’écart type, etc.

Dans cet exemple, la moyenne est calculée pour une fenêtre de 3, ce qui signifie que pour chaque cellule, la moyenne du point de données actuel et des deux points de données précédents est calculée.

import pandas as pd

# Exemple de DataFrame avec les cours quotidiens des actions
data = {'Date': pd.date_range(start='2023-01-01', periods=10, freq='D'),
        'Price': [100, 105, 110, 108, 112, 115, 118, 120, 122, 125]}
df = pd.DataFrame(data)

# Calculer la moyenne mobile des prix sur 3 jours
df['Rolling_Mean'] = df['Price'].rolling(window=3).mean()
df
---------------------------------------------------------------
output:

Date Price Rolling_Mean
0 2023-01-01 100 NaN
1 2023-01-02 105 NaN
2 2023-01-03 110 105.000000
3 2023-01-04 108 107.666667
4 2023-01-05 112 110.000000
5 2023-01-06 115 111.666667
6 2023-01-07 118 115.000000
7 2023-01-08 120 117.666667
8 2023-01-09 122 120.000000
9 2023-01-10 125 122.333333
Guide Pandas Bases
T'en as pensé quoi ?
Partager ce tuto :
  • Facebook
  • X
  • LinkedIn
Visualisations de données avec PandasTraitement des données catégorielles avec Pandas
Table des matières
  • Travailler avec des données de type DateTime
  • Ré-échantillonnage et décalage
  • Statistiques de roulement

Apprentissage

  • Cours accéléré NumPy
  • Nos programmes Data
  • TOP 50 fonctions NumPy
  • MasterClass DS & ML
  • MasterClass Deep Learning
  • Mon Shot de Data Science
  • Tutoriels Data Science

Le site

  • Articles
  • Coaching
  • Communauté
  • Newsletter
  • Connexion

À propos

  • CGV
  • Contact
Payment Options
Reçois chaque semaine mes meilleures pratiques en Data Science :

© 2025 MonCoachData - Data Science & Machine Learning

YouTube Discord GitHub Linkedin RSS
Défiler vers le haut
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Discord DiscordYouTube YouTube
Rechercher