Introduction
La méthode DataFrame.asfreq() de la bibliothèque pandas en Python est utilisée pour convertir une série temporelle à une fréquence spécifiée. Elle fournit un moyen de compléter ou de remplir les valeurs manquantes. En appliquant cette méthode à un DataFrame, nous pouvons convertir la série temporelle à la fréquence souhaitée, augmenter la fréquence et remplir toutes les valeurs manquantes.
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 à Jupyter Notebook pour pratiquer.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de 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.
Convertir une série temporelle à la fréquence spécifiée
Nous pouvons utiliser la méthode DataFrame.asfreq() pour convertir une série temporelle à une fréquence spécifiée différente. Voici un exemple :
import pandas as pd
index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, 2.0, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Converting to a different frequency")
print(df.asfreq(freq='H'))
Ce code crée un DataFrame avec une série temporelle puis le convertit à une fréquence horaire. Il affiche à la fois le DataFrame original et le DataFrame converti.
Agrandir une série temporelle à l'aide de la méthode DataFrame.asfreq()
La méthode DataFrame.asfreq() peut également agrandir la fréquence d'une série temporelle. Voici un exemple :
import pandas as pd
index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, 2.0, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Agrandir la série temporelle")
print(df.asfreq(freq='50s'))
Dans ce code, nous créons un DataFrame avec une série temporelle puis nous l'agrandissons à une fréquence de 50 secondes. Il affiche à la fois le DataFrame original et le DataFrame agrandi.
Agrandir une série temporelle et remplir les valeurs manquantes à l'aide de la méthode DataFrame.asfreq()
La méthode DataFrame.asfreq() peut également remplir les valeurs manquantes lors de l'agrandissement d'une série temporelle. Voici un exemple :
import pandas as pd
index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, None, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Agrandir la série temporelle et remplir les valeurs")
print(df.asfreq(freq='50s', fill_value=9.0))
Dans ce code, nous créons un DataFrame avec une série temporelle qui contient des valeurs manquantes. Nous l'agrandissons ensuite à une fréquence de 50 secondes et remplissons les valeurs manquantes avec la valeur 9,0. Il affiche à la fois le DataFrame original et le DataFrame agrandi avec les valeurs remplies.
Agrandir une série temporelle et remplir à rebours les valeurs manquantes à l'aide de la méthode DataFrame.asfreq()
La méthode DataFrame.asfreq() peut également remplir les valeurs manquantes par la méthode de remplissage arrière lors de l'agrandissement d'une série temporelle. Voici un exemple :
import pandas as pd
index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, None, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print("Agrandir la série temporelle")
print(df.asfreq(freq='70s'))
print("Remplissage arrière des valeurs")
print(df.asfreq(freq='70s', method='bfill'))
Dans ce code, nous créons un DataFrame avec une série temporelle qui contient des valeurs manquantes. Nous l'agrandissons ensuite à une fréquence de 70 secondes et remplissons les valeurs manquantes par la méthode de remplissage arrière. Il affiche à la fois le DataFrame agrandi et le DataFrame avec les valeurs remplies par la méthode de remplissage arrière.
Résumé
La méthode DataFrame.asfreq() dans pandas est un outil pratique pour convertir, agrandir et remplir les valeurs manquantes dans les données de séries temporelles. En spécifiant une fréquence souhaitée et des paramètres optionnels pour remplir les valeurs manquantes, nous pouvons manipuler les données de séries temporelles pour répondre à nos besoins. Cette méthode offre une flexibilité et un contrôle sur la manière dont les données de séries temporelles sont traitées et analysées.