指定された日付範囲内のデータフレーム行をクエリする
この質問は、データフレームから特定の日付範囲内の行を抽出するという課題に対処します。日付列。提供されているソリューションでは、これを実現するための 2 つのアプローチが提供されています。
方法 1: ブール マスクを使用する
この方法を採用するには、DataFrame の 'date' がdtype datetime64[ns] のシリーズ。次の手順を実行します:
方法 2: DatetimeIndex を割り当てる
頻繁に日付を選択するシナリオの場合、このアプローチには日付列をIndex:
例:
応答で提供されたコードを利用して、次の図を考慮してください。
import pandas as pd df = pd.DataFrame({'date': pd.date_range('2023-03-01', periods=10)}) df['value'] = np.random.randn(10) # Boolean Mask Approach start_date = '2023-03-03' end_date = '2023-03-08' mask = (df['date'] > start_date) & (df['date'] <= end_date) df_subset = df.loc[mask] # DatetimeIndex Approach df = df.set_index('date') df_subset = df.loc[start_date:end_date]
これにより、指定された日付に対応する行を含む 2 つの DataFrame が生成されます。範囲。
以上がデータフレーム行を日付範囲で効率的にフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。