>백엔드 개발 >파이썬 튜토리얼 >날짜 범위별로 Pandas DataFrame 행을 필터링하는 방법은 무엇입니까?

날짜 범위별로 Pandas DataFrame 행을 필터링하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-29 10:03:09391검색

How to Filter Pandas DataFrame Rows by Date Range?

지정된 날짜 범위 내의 DataFrame 행 검색

문제:

Pandas DataFrame은 다음을 포함하는 CSV 파일에서 생성됩니다. 날짜 열. 작업은 날짜 값이 지정된 날짜 범위 내에 있거나 지정된 두 날짜 사이에 속하는 행만 추출하는 것입니다.

해결책:

이를 달성하기 위한 두 가지 접근 방식이 있습니다. :

옵션 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를 읽는 동안 구문 분석 날짜를 사용한 경우 , 날짜 열을 datetime64로 변환할 필요가 없습니다.

위 내용은 날짜 범위별로 Pandas DataFrame 행을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.