La manipulation des données de séries temporelles

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 guidera dans la manipulation de données de séries temporelles à l'aide du package Python, Pandas. Nous travaillerons avec des données de qualité de l'air pour ce tutoriel. Vous allez apprendre à convertir des chaînes de caractères en objets datetime, effectuer des opérations sur ces objets datetime, redimensionner une série temporelle à une autre fréquence, et bien plus encore.

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.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 94%. Il a reçu un taux d'avis positifs de 94% de la part des apprenants.

Importez les bibliothèques nécessaires et chargez les données

Tout d'abord, nous devons importer les bibliothèques Python requises et charger les données de qualité de l'air. Les données seront lues dans un DataFrame pandas, qui est une structure de données étiquetée en 2 dimensions.

## import necessary libraries
import pandas as pd
import matplotlib.pyplot as plt

## load the air quality data
air_quality = pd.read_csv("data/air_quality_no2_long.csv")

## rename the "date.utc" column to "datetime"
air_quality = air_quality.rename(columns={"date.utc": "datetime"})

Convertir des chaînes de caractères en objets datetime

Les dates dans la colonne "datetime" sont actuellement des chaînes de caractères. Nous voulons les convertir en objets datetime pour une manipulation plus facile.

## convert "datetime" column to datetime objects
air_quality["datetime"] = pd.to_datetime(air_quality["datetime"])

Ajoutez une nouvelle colonne pour le mois de mesure

Maintenant, nous voulons ajouter une nouvelle colonne à notre DataFrame qui contienne uniquement le mois de chaque mesure. Cela peut être réalisé à l'aide de l'accesseur dt.

## add a new column for the month of each measurement
air_quality["month"] = air_quality["datetime"].dt.month

Calculez la concentration moyenne en NO2 pour chaque jour de la semaine

Nous pouvons maintenant calculer la concentration moyenne en NO2 pour chaque jour de la semaine à chaque emplacement de mesure. Cela peut être fait à l'aide de la méthode groupby.

## calculate the average NO2 concentration for each day of the week
average_NO2 = air_quality.groupby([air_quality["datetime"].dt.weekday, "location"])["value"].mean()

Tracez les valeurs moyennes de NO2 pour chaque heure de la journée

Nous pouvons également tracer les valeurs moyennes de NO2 pour chaque heure de la journée. Cela peut être fait à l'aide de la méthode plot.

## plot the average NO2 values for each hour of the day
fig, axs = plt.subplots(figsize=(12, 4))
air_quality.groupby(air_quality["datetime"].dt.hour)["value"].mean().plot(kind='bar', rot=0, ax=axs)
plt.xlabel("Hour of the day")
plt.ylabel("$NO_2 (µg/m^3)$")

Rééchantillonnage de données de séries temporelles

La méthode resample est un moyen puissant de changer la fréquence des données de séries temporelles. Ici, nous allons agréger les données de séries temporelles horaires actuelles pour obtenir la valeur maximale mensuelle à chaque station de mesure.

## By pivoting the data, the datetime information became the index of the table.
no_2 = air_quality.pivot(index="datetime", columns="location", values="value")
no_2.head()

## Create a plot of the values in the different stations from the 20th of May till the end of 21st of May
no_2["2019-05-20":"2019-05-21"].plot()

## resample time series data
monthly_max = no_2.resample("M").max()
monthly_max

Sommaire

Dans ce laboratoire, nous avons appris à manipuler des données de séries temporelles en Python à l'aide de la bibliothèque pandas. Nous avons chargé des données de qualité de l'air, converti des chaînes de dates en objets datetime, calculé la concentration moyenne en NO2 pour chaque jour de la semaine, tracé les valeurs moyennes de NO2 pour chaque heure de la journée et rééchantillonné les données de séries temporelles à une fréquence différente.