> 백엔드 개발 > 파이썬 튜토리얼 > Python의 특정 날짜 범위 내에서 DataFrame 행을 효율적으로 선택하는 방법은 무엇입니까?

Python의 특정 날짜 범위 내에서 DataFrame 행을 효율적으로 선택하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-13 13:11:09
원래의
296명이 탐색했습니다.

How to Efficiently Select DataFrame Rows Within a Specific Date Range in Python?

날짜 범위 내에서 DataFrame 행 선택

Python에서 DataFrame은 표 형식 데이터를 저장하고 조작하기 위한 강력한 도구입니다. 일반적으로 발생하는 작업 중 하나는 지정된 날짜 범위를 기준으로 행을 필터링하는 것입니다. 이를 수행하기 위해 다음 옵션이 있습니다.

방법 1: 부울 마스크 사용

DataFrame에 datetime64[ns] 데이터 유형의 날짜 열이 포함된 경우, 원하는 범위에 속하는 행을 선택하기 위해 부울 마스크를 만들 수 있습니다. 범위:

# Ensure date column is a datetime64 series
df['date'] = pd.to_datetime(df['date']) 

# Create a boolean mask
mask = (df['date'] > start_date) & (df['date'] <= end_date)

# Select the sub-DataFrame
sub_df = df.loc[mask]
로그인 후 복사

방법 2: DatetimeIndex 설정

또 다른 효율적인 접근 방식은 날짜 열을 DataFrame의 인덱스로 설정하여 DatetimeIndex를 생성하는 것입니다.

df = df.set_index(['date'])

# Select rows using index slicing
sub_df = df.loc[start_date:end_date]
로그인 후 복사

이 방법은 날짜 기반 선택이 빈번한 경우에 특히 유용합니다. 부울 마스크를 사용합니다.

예:

다음 DataFrame을 고려하세요.

>>> df
            value  date
0          0.2   2021-06-01
1          0.3   2021-06-05
2          0.4   2021-06-10
3          0.5   2021-06-15
로그인 후 복사

2021년 6월에 대한 행을 선택하려면, 다음 방법 중 하나를 사용할 수 있습니다.

방법 1: 부울 마스크

mask = (df['date'] > '2021-06-01') & (df['date'] <= '2021-06-30')
sub_df = df.loc[mask]
로그인 후 복사

방법 2: DatetimeIndex

df = df.set_index(['date'])
sub_df = df.loc['2021-06-01':'2021-06-30']
로그인 후 복사

두 방법 모두 다음 하위 DataFrame을 반환합니다.

>>> sub_df
            value  date
0          0.2   2021-06-01
1          0.3   2021-06-05
2          0.4   2021-06-10
3          0.5   2021-06-15
로그인 후 복사

위 내용은 Python의 특정 날짜 범위 내에서 DataFrame 행을 효율적으로 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿