Python - pandas - 데이터의 날짜 다루기, 날짜 확인 및 집계 (datetime 형변환, 요일 확인 weekday, dt 속성, resample 그룹화 방법)

반응형

 

  • 파이썬에서 지원하는 datetime에 대한 설명을 좀 더 자세히 확인 할 수 있습니다.

https://luvris2.tistory.com/23

 

표준 모듈(date, time)을 이용하여 라이브러리(library) 활용하기 - 2

해당 글은 글과 라이브러리 활용하기 1번 글과 이어진 내용이며, 이번 포스팅에서는 표준 모듈인 date와 time을 다룹니다. '표준 모듈(date)을 이용하여 라이브러리(library) 활용하기 - 1'  이전글 보

luvris2.tistory.com

 

  • numpy와 pandas의 시계열 데이터에 대한 설명을 좀 더 자세히 확인 할 수 있습니다.

https://luvris2.tistory.com/38

 

Numpy/Pandas - datetime

# datetime64란? 날짜와 시간을 저장하는 자료 형태 datetime을 보완하기 위한 라이브러리 numpy에서 64bit로 처리하도록 변경 pandas에서는 Timestamp로 사용 # timedelta64란? 날짜/시간 연산시 각자 가지고있..

luvris2.tistory.com

 

Pandas 데이터프레임 datetime으로 형변환 하기

데이터를 날짜 형식으로 변경하기 (to_datetime)

  • pandas.to_datetime(데이터, format= '표시 할 형식')
    • 데이터의 타입을 datetime으로 변경
    • format : 기존의 데이터의 형식을 지정, 어떤 부분이 년월일 등등인지 사전에 지정
      • % 사용 :  예) %m/ %d /Y %I:%M:%S %p > 12/25/2018 23:50:55
      • 문자사용 : 예) yyyy-MM-dd HH:mm:ss > 2018-25-12 23:50:55
      • 예시로 주어진 Date의 자료 formatting 해보기

pandas.to_datetime(df['Date'], format= '%m/%d/%Y %I:%M:%S %p')

df['Date']
>>> Name: Date, Length: 19, dtype: datetime64[ns]
# index의 타입 datetime 확인

데이터의 요일 확인하기 (dt.weekday)

  • pandas.dt.weekday : datetime 형태의 시계열 데이터의 요일 확인
    • 0:월, 1:화, 2:수, 3:목, 4:금, 5:토, 6일
df['Date'].dt.weekday
>>> 6
# 2006년 4월 2일의 요일은 일요일

데이터 날짜 다루는 방법 (pandas.dt 사용 방법)

dt는 시리즈(1차원 배열)의 형태에서 사용 가능합니다.

그래서 데이터프레임(2차원 배열)에서 사용 할 경우,

해당 컬럼만 호출하여 dt를 사용 할 수 있습니다.

  • dt.date : 해당 날짜 표시 (예: 2022-05-11)
  • dt.year : 해당 날짜의 년도 4자리로 표시 (예: 2022)
  • dt.quarter : 해당 날짜의 분기 표시 (예: 2)
  • dt.month : 해당 날짜의 월 표시 (예: 5)
  • dt.month_name : 해당 날짜의 월을 영문자로 표시 (예: May)
  • dt.weekday : 해당 날짜의 요일을 숫자로 표시 (예: 월요일-> 0)
  • dt.weekday_name(=day_name) : 해당 날짜의 요일을 영문자로 표시 (예: 월요일-> Mon)
  • dt.day : 해당 날짜의 일 표시 (11)
  • dt.time : 해당 시간 표시 (예: 18:08:07)
  • dt.hour : 해당 시간의 시 표시 (예: 18)
  • dt.minute : 해당 시간의 분 표시 (예: 08)
  • dt.second : 해당 시간의 초 표시 (예: 07)

특정 날짜별로 그룹화해서 보기 (datetime 타입의 그룹화 (resample))

  • DataFrame.resample('설정값').size() : 날짜/시간 타입을 그룹화하여 단위별 출력
  • groupby로는 datetime 타입의 특정 단위별로 그룹화 불가
  • 설정값
B 평일 AS 연초
D BA 연말의 마지막 평일
W A 연말
M H
Q 분기 T, min
Y S
  • 예시) 년도별로 값 집계하여 출력

반응형