選擇兩個日期之間的DataFrame 行
簡介
處理時間序列資料時,通常需要根據日期範圍選擇特定行。本文探討了在 pandas DataFrames 中實現此目的的兩種方法。
方法 1:布林遮罩
確保日期欄位是 dtype 的 Series datetime64[ns]:
df['date'] = pd.to_datetime(df['date'])
使用比較運算子與開始日期和結束日期建立布林遮罩:
mask = (df['date'] > start_date) & (df['date'] <= end_date)
選擇子DataFrame使用mask:
df.loc[mask]
方法2:DatetimeIndex
將日期欄位設定為索引:
df = df.set_index(['date'])
df.loc[start_date:end_date]
範例
考慮一個有日期列的 DataFrame。以下程式碼使用布林遮罩方法選擇 '2000-06-01' 和 '2000-06-10' 之間的行:import pandas as pd df = pd.DataFrame({ 'date': pd.date_range('2000-1-1', periods=200, freq='D'), 'value': np.random.rand(200) }) mask = (df['date'] > '2000-06-01') & (df['date'] <= '2000-06-10') result_df = df[mask]結果包括從 6 月 1 日到 10 日的行, 2000.
比較
以上是如何在 Pandas 中高效選擇特定日期範圍內的 DataFrame 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!