Sélectionner des lignes DataFrame entre deux dates
Introduction
Lorsque vous travaillez avec des données de séries chronologiques , il est souvent nécessaire de sélectionner des lignes spécifiques en fonction de plages de dates. Cet article explore deux méthodes pour y parvenir dans les DataFrames pandas.
Méthode 1 : Masque booléen
Assurez-vous que la colonne de date est une série avec un type datetime64[ns] :
df['date'] = pd.to_datetime(df['date'])
Créer un masque booléen utilisant des opérateurs de comparaison avec les dates de début et de fin :
mask = (df['date'] > start_date) & (df['date'] <= end_date)
Sélectionnez le sous-DataFrame à l'aide du masque :
df.loc[mask]
Méthode 2 : DatetimeIndex
Définissez la colonne de date comme index :
df = df.set_index(['date'])
Découpez le DataFrame en utilisant la date plages :
df.loc[start_date:end_date]
Exemple
Considérons un DataFrame avec une colonne de date. Le code suivant utilise la méthode du masque booléen pour sélectionner les lignes entre '2000-06-01' et '2000-06-10' :
import pandas as pd df = pd.DataFrame({ 'date': pd.date_range('2000-1-1', periods=200, freq='D'), 'value': np.random.rand(200) }) mask = (df['date'] > '2000-06-01') & (df['date'] <= '2000-06-10') result_df = df[mask]
Le résultat inclut les lignes du 1er au 10 juin, 2000.
Comparaison
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!