Pandas: 두 날짜 사이의 행을 선택하는 방법


다음 구문을 사용하여 Pandas DataFrame에서 두 특정 날짜 사이의 행을 선택할 수 있습니다.

 df[df. date . between (' 2022-01-02 ', ' 2022-01-06 ')]

이 특정 예에서는 2022년 1월 2일부터 2022년 1월 6일 사이에 DataFrame의 모든 행을 선택합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas에서 두 날짜 사이의 행 선택

다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd. date_range (start=' 1/1/2022 ', periods= 8 ),
                   ' sales ': [18, 20, 15, 14, 10, 9, 8, 12],
                   ' returns ': [5, 7, 7, 9, 12, 3, 2, 4]})

#view DataFrame
print (df)

        date sales returns
0 2022-01-01 18 5
1 2022-01-02 20 7
2 2022-01-03 15 7
3 2022-01-04 14 9
4 2022-01-05 10 12
5 2022-01-06 9 3
6 2022-01-07 8 2
7 2022-01-08 12 4

다음 구문을 사용하여 날짜 2022년 1월 2일부터 2022년 1월 6일 사이의 행만 선택할 수 있습니다.

 #select all rows where date is between 2022-01-02 and 2022-01-06
df[df. date . between (' 2022-01-02 ', ' 2022-01-06 ')]

              date sales returns
1 2022-01-02 20 7
2 2022-01-03 15 7
3 2022-01-04 14 9
4 2022-01-05 10 12
5 2022-01-06 9 3

날짜 2022-01-02와 2022-01-06 사이의 행만 선택됩니다.

원하는 경우 between() 함수 외부에서 시작 날짜와 종료 날짜를 설정할 수도 있습니다.

 #define start and end dates
start_date = ' 2022-01-02 '
end_date = ' 2022-01-06 '

#select all rows where date is between start and end
df[df. date . between (start_date, end_date)]


              date sales returns
1 2022-01-02 20 7
2 2022-01-03 15 7
3 2022-01-04 14 9
4 2022-01-05 10 12
5 2022-01-06 9 3

이는 동일한 결과를 낳습니다.

날짜 열이 인식 가능한 날짜/시간 형식이 아닌 경우 먼저 다음 코드를 사용하여 날짜/시간 형식으로 변환해야 할 수도 있습니다.

 df[' date '] = pd. to_datetime (df[' date ']) 

그런 다음 between() 함수를 사용하여 특정 날짜 사이의 행을 선택할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas에서 날짜 범위를 만드는 방법
Pandas에서 날짜로부터 월을 추출하는 방법
Pandas에서 타임스탬프를 날짜/시간으로 변환하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다