본문 바로가기
2학년 2학기/데이터 사이언스 입문

[pandas] 날짜 / 시간 데이터 다루기(Time stamp, Time interval, Time duration)

by print_soo 2024. 11. 5.
❓ 날짜/시간과 관련된 자료형이란?

: 절대적인 시간(2024년 11월 2일 등)을 다룰 수 있는 자료형이다. 내부적인 동작에는 실수 혹은 정수형으로 동작한다 .

 

판다스에서 날짜/시간과 관련된 자료형에는 3가지가 있다. 

 

1. Time stamp

: 특정 시점(시각)을 나타낸다. 예를 들면 2024년 11월 2일 11시 32분 23초를 나타는 것과 같다.

 

2. Time interval(period)

: 시작과 종료 시점 사이의 구간을 나타낸다. 예를 들면 2015년(2015년 1월 1일 ~ 2015년 12월 31일까지), 2021년 8월 첫째 주(2021년 8월 1일  ~ 2021년 8월 7일)를 나타내는 것과 같다.

 

3. Time delta(duration)

: 두 시간 간격의 차이를 나타내며, 일정한 시간의 "길이"를 의미한다. 예를 들면 5일, 2시간 30분, 3주, 6개월, 1년을 나타내는 것과 같다.

 


 

 

1. Python에서의 날짜 / 시간 자료형

: 파이썬에서는 datetime 모듈을 통해 날짜와 시간을 다룰 수 있다. 기본적으로 날짜와 시간 연산을 지원하며, 필요하면 dateuil 라이브러리등을 사용해서 더 복잡한 작업을 할 수 있다.

 

 


 

2. Numpy에서의 날짜 / 시간 자료형

Numpy는 datetime64 자료형을 활용해서 날짜와 시간을 다룰 수 있다. 이 자료형은 64비트 정수로 구현되어 있어 연산이 빠르고, 시간 단위를 지정할 수 있어 다양한 시간 간격을 다룰 수 있다. 

 

 

 

 

위처럼 arange 함수를 통해서 쉽게 inteval을 생성할 수 있다. 

 


 

3. Pandas에서의 날짜 / 시간 자료형

판다스에서는 넘파이와 파이썬의 datetime의 장점을 결합하여 "Timestamp"라는 새로운 자료형을 통해서 추가로 지원해서 다양한 시간 구간과 간격을 다룰 수 있다. 

 

 

 

위의 내용은 시리즈에 관해서 연산을 진행한 것이고, 데이터 프레임에서는 dt를 사용해서 dates.dt.to_period('D')처럼 사용해야한다.