반응형
- 파이썬에서 지원하는 datetime에 대한 설명을 좀 더 자세히 확인 할 수 있습니다.
https://luvris2.tistory.com/23
- numpy와 pandas의 시계열 데이터에 대한 설명을 좀 더 자세히 확인 할 수 있습니다.
https://luvris2.tistory.com/38
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 | 초 |
- 예시) 년도별로 값 집계하여 출력
반응형