Pandas : Comment trouver la date la plus ancienne dans une colonne
Vous pouvez utiliser les méthodes suivantes pour rechercher la date la plus ancienne dans une colonne d’un DataFrame pandas :
Méthode 1 : Rechercher la date la plus ancienne dans la colonne
df['date_column'].min()
Méthode 2 : rechercher la ligne avec la date la plus ancienne dans la colonne
df.iloc[df['date_column'].argmin()]
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'date': pd.to_datetime(['2022-04-01', '2022-02-12', '2022-06-13', '2022-02-04', '2022-07-01', '2022-02-19', '2022-12-03', '2022-04-04']), 'sales': [12, 15, 24, 24, 14, 19, 12, 38]}) #view DataFrame print(df) date sales 0 2022-04-01 12 1 2022-02-12 15 2 2022-06-13 24 3 2022-02-04 24 4 2022-07-01 14 5 2022-02-19 19 6 2022-12-03 12 7 2022-04-04 38
Exemple 1 : Rechercher la date la plus ancienne dans la colonne
Nous pouvons utiliser le code suivant pour trouver la date la plus ancienne dans la colonne date du DataFrame :
#find earliest date in 'date' column df['date'].min() Timestamp('2022-02-04 00:00:00')
À partir du résultat, nous pouvons voir que la date la plus ancienne dans la colonne de date est le 4/02/2022.
Remarque : Si vous souhaitez trouver la date la plus récente, remplacez simplement min() par max() dans le code.
Exemple 2 : Rechercher la ligne avec la date la plus ancienne dans la colonne
Nous pouvons utiliser le code suivant pour trouver la ligne avec la date la plus ancienne dans la colonne date du DataFrame :
#find row with earliest date in 'date' column df.iloc[df['date'].argmin()] date 2022-02-04 00:00:00 sales 24 Name: 3, dtype: object
La sortie affiche la ligne entière contenant la date la plus ancienne dans la colonne de date .
Par exemple, nous pouvons voir les valeurs suivantes dans cette ligne :
- date : 02-04-2022
- ventes : 24
Si vous souhaitez uniquement connaître la position d’index de la ligne avec la date la plus ancienne, vous pouvez remplacer .iloc par .index comme suit :
#find index position of row with earliest date in 'date' column df.index[df['date'].argmin()] 3
Cela nous indique que la ligne avec la position d’index 3 contient la date la plus ancienne dans la colonne date .
Remarque : Si vous souhaitez trouver la ligne avec la date la plus récente, remplacez simplement argmin() par argmax() dans le code.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment ajouter et soustraire des jours à une date dans Pandas
Comment sélectionner des lignes entre deux dates dans Pandas
Comment créer une colonne de date à partir de l’année, du mois et du jour dans Pandas