Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menapis Baris DataFrame Pandas mengikut Julat Tarikh?

Bagaimana untuk Menapis Baris DataFrame Pandas mengikut Julat Tarikh?

Susan Sarandon
Susan Sarandonasal
2024-12-29 10:03:09379semak imbas

How to Filter Pandas DataFrame Rows by Date Range?

Mendapatkan semula Baris DataFrame Dalam Julat Tarikh Ditentukan

Masalah:

Pandas DataFrame dicipta daripada fail CSV yang mengandungi lajur tarikh. Tugasnya adalah untuk mengekstrak hanya baris yang nilai tarikhnya berada dalam julat tarikh tertentu atau antara dua tarikh yang ditentukan.

Penyelesaian:

Terdapat dua pendekatan untuk mencapai ini :

Pilihan 1: Boolean Masking

  1. Pastikan lajur tarikh dalam format datetime64[ns].
  2. Buat topeng boolean menggunakan syarat julat tarikh.
  3. Pilih baris yang dikehendaki menggunakan df.loc[mask].

Contoh:

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]

Pilihan 2: DatetimeIndex

  1. Tetapkan lajur tarikh sebagai indeks DataFrame.
  2. Gunakan df.loc[start_date : end_date] untuk mendapatkan semula baris yang diingini.

Contoh:

df = pd.read_csv('data.csv', parse_dates=['date'])
df = df.set_index(['date'])

df_filtered = df.loc[start_date : end_date]

Nota: Jika parse_dates digunakan semasa membaca CSV , menukar lajur tarikh kepada datetime64 tidak perlu.

Atas ialah kandungan terperinci Bagaimana untuk Menapis Baris DataFrame Pandas mengikut Julat Tarikh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn