Méthode last du DataFrame Pandas

PandasPandasBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons parcourir un exemple d'utilisation de la méthode last() du DataFrame Pandas. La méthode last() nous permet de sélectionner les dernières lignes de données de séries temporelles en fonction d'un décalage de date. Cela peut être utile lorsqu'on travaille avec des dataframes dont l'index est une date. La méthode renvoie le dataframe avec les lignes sélectionnées, et elle lève une TypeError si l'index n'est pas un DatetimeIndex.

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 Notebook pour accéder à Jupyter Notebook pour la pratique.

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 limites de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous réglerons rapidement le problème pour vous.

Créer un DataFrame avec des dates comme index

Tout d'abord, créons un DataFrame avec des dates comme index. Cela nous permettra d'utiliser la méthode last() pour sélectionner des lignes en fonction des dates. Nous utiliserons la fonction date_range() de Pandas pour créer une plage de dates.

import pandas as pd

## Créer une plage de dates
dates = pd.date_range(start='2021-01-01', end='2021-01-10')

## Créer un DataFrame avec des dates comme index
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}, index=dates)

## Afficher le DataFrame
print(df)

Sélectionner les dernières lignes en fonction d'un décalage de date

Maintenant que nous avons notre DataFrame avec des dates comme index, utilisons la méthode last() pour sélectionner les dernières lignes en fonction d'un décalage de date. Le décalage peut être spécifié de diverses manières, comme une chaîne de caractères ou un objet DateOffset. Par exemple, nous pouvons sélectionner les derniers 3 jours en passant '3D' comme décalage.

## Sélectionner les derniers 3 jours
last_3_days = df.last('3D')

## Afficher les lignes sélectionnées
print(last_3_days)

Gérer un index non DatetimeIndex

Si l'index du DataFrame n'est pas un DatetimeIndex, la méthode last() levera une TypeError. Pour gérer ceci, nous pouvons vérifier le type de l'index avant d'appeler la méthode.

import pandas as pd

## Créer un DataFrame avec un index non DatetimeIndex
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]}, index=[1, 2, 3, 4, 5])

## Vérifier si l'index est un DatetimeIndex
if isinstance(df.index, pd.DatetimeIndex):
    ## Sélectionner les 3 dernières lignes
    last_3_rows = df.last(3)
    print(last_3_rows)
else:
    print("L'index n'est pas un DatetimeIndex.")

Récapitulatif

Dans ce laboratoire, nous avons appris à utiliser la méthode last() du DataFrame Pandas pour sélectionner les dernières lignes de données de séries temporelles en fonction d'un décalage de date. Nous avons vu comment créer un DataFrame avec des dates comme index, et comment utiliser la méthode last() pour sélectionner des lignes en fonction d'un décalage de date. Nous avons également appris à gérer un index non DatetimeIndex lors de l'utilisation de la méthode last(). Cette méthode peut être utile lorsqu'on travaille avec des données de séries temporelles et qu'il est nécessaire de sélectionner des périodes de temps spécifiques.