問題:
Pandas DataFrame は、日付列。タスクは、日付値が指定された日付範囲内、または指定された 2 つの日付の間にある行のみを抽出することです。
解決策:
これを実現するには 2 つのアプローチがあります。 :
オプション 1: ブール値マスキング
例:
import pandas as pd df = pd.read_csv('data.csv', parse_dates=['date']) start_date = '2022-01-01' end_date = '2022-02-28' mask = (df['date'] >= start_date) & (df['date'] <= end_date) df_filtered = df.loc[mask]
オプション 2: DatetimeIndex
例:
df = pd.read_csv('data.csv', parse_dates=['date']) df = df.set_index(['date']) df_filtered = df.loc[start_date : end_date]
注: CSV の読み取り中に parse_dates が使用された場合、日付列を datetime64 に変換する必要はありません。
以上がPandas DataFrame 行を日付範囲でフィルタリングする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。