首頁 >後端開發 >Python教學 >如何在 Python 中以日期範圍過濾 DataFrame 行?

如何在 Python 中以日期範圍過濾 DataFrame 行?

Susan Sarandon
Susan Sarandon原創
2024-12-10 14:42:11990瀏覽

How to Filter DataFrame Rows by Date Range in Python?

選擇指定日期範圍內的資料框行

問題:

問題:

如何建立來自🎜>如何建立來自🎜>如何建立來自🎜>如何建立來自CSV 檔案的新DataFrame,僅包含日期在指定範圍內或兩個之間的行

解決方案1:使用布林遮罩

確保DataFrame 的日期列是具有datetime64 [ns] 資料類型的Series。透過將日期與開始日期和結束日期進行比較來建立布林遮罩。使用此遮罩選擇行,然後建立新的 DataFrame 或覆寫現有的 DataFrame。

df['date'] = pd.to_datetime(df['date'])
mask = (df['date'] > start_date) &amp; (df['date'] <= end_date)
df_filtered = df.loc[mask]

範例:

解決方案 2:使用DatetimeIndex

將日期列轉換為 Datetimex。這允許您使用 df.loc[start_date:end_date] 按日期選擇行。

import pandas as pd
df['date'] = pd.date_range('2000-1-1', periods=200, freq='D')
df = df.set_index(['date'])
df_filtered = df.loc['2000-6-1':'2000-6-10']

範例:

  • 附加說明:
您不必同時包含開始日期和結束日期pd.read_csv 有一個parse_dates參數,可用於在讀取時解析日期列。

以上是如何在 Python 中以日期範圍過濾 DataFrame 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn