본문 바로가기

Data Science/Pandas

날짜 데이터 핸들링 (datetime)

728x90

이번 포스팅에는 time series 데이터들을 다루기 위한 datetime 모듈에 대해서 공부해 보겠습니다.

 

현재 날짜 추출

먼저 datetime 모듈을 통해 현재 날짜를 추출해 보도록 하겠습니다. 아래와 같이 사용하면 됩니다.

 


from datetime import datetime
datetime.today()

결과는 현재 날짜에 관한 시간들이 나오고 결과는 year, month, day, hour, minute, second, microsecond 순으로 출력됩니다.


아래와 같이 결과들 중 하나의 값을 추출할 수도 있습니다. (아래는 month 값 추출)

 


today date

 


 

날짜 형식으로 변환하기

날짜 형식(datetime)으로 되어 있지 않은 데이터를 날짜 형식으로 변환하면 데이터를 다룰 때 편리한 점이 많습니다.  datetime 모듈에서 제공하는 속성들을 사용할 수 있기 때문이죠. 날짜 형식으로 변환하기 위한 방법은 크게 3가지 정도가 있습니다.

 


1. pd.to_datetime(df['date'], format = "%Y-%m-%d %H:%M:%S"): 데이터를 날짜 형식으로 변경
2. datetime.strptime('날짜 문자열', '포맷'): 문자열을 날짜 형식으로 변환
3. datetime 객체.strftime('포맷'): 날짜 형식을 문자열로 변환


각각의 함수들을 사용해서 결과를 확인해 보겠습니다. 

 

첫 번째 결과는 문자열을 datetime 형식으로 바꾼 결과이고 2번째는 datetime 형식을 문자열로 바꾼 결과입니다. 첫 번째 예시에서 주의할 점은 format을 앞의 문자열의 값들이 1:1로 Match 될 수 있도록 잘 지정해야 한다는 점입니다.

 


date <-> string

 

 


날짜 데이터끼리의 연산

마지막으로 datetime 형식으로 되어 있는 데이터들끼리는 어떻게 연산을 할 수 있는지 알아보겠습니다. 이는 datetime 모듈의 timedelta()를 사용하여 datetime 객체에 더하거나 뺄셈을 수행할 수 있습니다.

 


datetime.timedelta(days=0, seconds=0, micorseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)


 

아래와 같이 현재 시각에 100일을 더한 시각, 2시간을 더한 시각을  구하 수 았습니다.

 


timedelta

 

 

출처

[데싸라면, 빨간색 물고기, 자투리코드] 파이썬 한권으로 끝내기: 데이터분석전문가(ADP) + 빅데이터분석기사 실기대비, 시대고시기획(2022), p59-61)

728x90
반응형

'Data Science > Pandas' 카테고리의 다른 글

Confusion Matrix - 혼동행렬  (0) 2023.09.01
PCA - 차원 축소  (0) 2023.08.31
데이터 재구조화 (pivot_table, melt)  (0) 2023.08.30
Concat, Append와 Join, Merge  (0) 2023.08.30
데이터 정렬  (0) 2023.08.30