본문 바로가기

Python

[Python] 특정 시간 조건 행 추출

pandas의 DatetimeIndex 함수를 사용하여 시간 조건 행 추출 및 필터링

 

먼제 예제를 들기위한 데이터프레임은 다음과 같다. 

 

df
# TIME 컬럼의 dtype은 datetime64

 

이 컬럼을 인덱스로 설정해준다.

# TIME 컬럼을 Index로 설정
df = df.set_index('TIME')

 

  • 특정 행(범위) 필터링

이제 필요한 시간에 해당하는 행만 추출하는 방법은 다음과 같다.

방법 1. 

 

df_R['2020-10-12 09:04:31']

 

방법 2. 

df[pd.DatetimeIndex(df.index).second == 31]

 

 

df[pd.DatetimeIndex(df.index).minute > 5]

 

 

 

  • 복수 조건 필터링

 

아래의 예제는 복수 조건으로 행을 추출하는 방법이다.

시간 구간 Slicing 방법은 다음과 같다.

 

방법 1. 

df_R['2020-10-12 09:05':'2020-10-13']

 

방법 2.

df[(pd.DatetimeIndex(df.index).second == 31) | (pd.DatetimeIndex(df.index).minute == 6)]

 

 

 

df[(pd.DatetimeIndex(df.index).second >=10) & (pd.DatetimeIndex(df.index).minute >= 6)]

 

분, 초 이외에도 다음과 같은 속성으로 원하는 시간과 날짜에 대해 행을 추출할 수 있다.

 연도 - year,

 월 - month,

 일 - day,

 시간 - hour

 

[참고]

https://rfriend.tistory.com/503

 

[Python pandas] 시계열 데이터 빈도/주기와 날짜 Offsets (Frequencies and Date Offsets)

지난번 포스팅에서는 numpy와 pandas를 이용해서 차수 m인 단순 이동평균 구하는 방법 (https://rfriend.tistory.com/502) 를 소개하였습니다. 이번 포스팅에서는 Python pandas에서 시계열 데이터를 생성할 때.

rfriend.tistory.com