ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame 行を日付範囲でフィルタリングする方法?

Pandas DataFrame 行を日付範囲でフィルタリングする方法?

Susan Sarandon
リリース: 2024-12-29 10:03:09
オリジナル
352 人が閲覧しました

How to Filter Pandas DataFrame Rows by Date Range?

指定された日付範囲内の DataFrame 行の取得

問題:

Pandas DataFrame は、日付列。タスクは、日付値が指定された日付範囲内、または指定された 2 つの日付の間にある行のみを抽出することです。

解決策:

これを実現するには 2 つのアプローチがあります。 :

オプション 1: ブール値マスキング

  1. 日付列が datetime64[ns] 形式であることを確認します。
  2. 日付範囲条件を使用してブール マスクを作成します。
  3. 必要な行を選択しますを使用してdf.loc[mask].

例:

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

  1. 日付列を設定するDataFrame のインデックスとして。
  2. を使用します。 df.loc[start_date : end_date] を使用して、目的の行を取得します。

例:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート