ホームページ >バックエンド開発 >Python チュートリアル >Pandas で特定の日付範囲内の DataFrame 行を効率的に選択する方法は?
2 つの日付間の DataFrame 行を選択する
概要
時系列データを扱う場合、多くの場合、日付範囲に基づいて特定の行を選択する必要があります。この記事では、pandas DataFrame でこれを実現する 2 つの方法について説明します。
方法 1: ブール マスク
日付列が dtype を持つシリーズであることを確認します。 datetime64[ns]:
df['date'] = pd.to_datetime(df['date'])
開始日と終了日の比較演算子を使用してブール マスクを作成します:
mask = (df['date'] > start_date) & (df['date'] <= end_date)
Selectを使用したサブデータフレームマスク:
df.loc[mask]
方法 2: DatetimeIndex
日付列をIndex:
df = df.set_index(['date'])
日付範囲を使用して DataFrame をスライスします:
df.loc[start_date:end_date]
例
日付列を含む DataFrame を考えてみましょう。次のコードは、ブール マスク メソッドを使用して '2000-06-01' から '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]
結果には 6 月 1 日から 10 日までの行が含まれます。 2000.
比較
以上がPandas で特定の日付範囲内の DataFrame 行を効率的に選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。