日付範囲内の DataFrame 行の選択
Python では、DataFrame は表形式データを保存および操作するための強力なツールです。よく発生するタスクの 1 つは、指定された日付範囲に基づいて行をフィルター処理することです。これを実現するには、次のオプションがあります。
方法 1: ブール マスクを使用する
DataFrame に datetime64[ns] データ型の日付列が含まれる場合、ブールマスクを作成して、目的の範囲内にある行を選択できます。 range:
# Ensure date column is a datetime64 series df['date'] = pd.to_datetime(df['date']) # Create a boolean mask mask = (df['date'] > start_date) & (df['date'] <= end_date) # Select the sub-DataFrame sub_df = df.loc[mask]
方法 2: DatetimeIndex を設定する
もう 1 つの効率的な方法は、日付列を DataFrame のインデックスとして設定し、DatetimeIndex を作成することです。 🎜>
df = df.set_index(['date']) # Select rows using index slicing sub_df = df.loc[start_date:end_date]
例:
次の DataFrame について考えます:>>> df value date 0 0.2 2021-06-01 1 0.3 2021-06-05 2 0.4 2021-06-10 3 0.5 2021-06-15
方法 1: ブール値Mask
mask = (df['date'] > '2021-06-01') & (df['date'] <= '2021-06-30') sub_df = df.loc[mask]
メソッド 2: DatetimeIndex
df = df.set_index(['date']) sub_df = df.loc['2021-06-01':'2021-06-30']
以上がPython で特定の日付範囲内の DataFrame 行を効率的に選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。