본문 바로가기

Pandas/기초

판다스 - to_datetime : format, dt

반응형

to_datetime 메서드를 사용하면 Date 형식의 자료형을 

 

datetime 오브젝트로 변환할 수 있다.

 

 

 

 

데이터 만들기

 

 

date컬럼은 자료형이 object이다.

 

이 문자열 날짜를 datetime 자료형으로 변환하려면

 

pd.to_datetime을 이용한다.

 

 

 

 

 

 

infer_datetime_format=True

 

 

여러 datetime 유명한 포맷 중에서 

 

datetime이 어떤 형식으로 이루어졌는지 확인 후 자동으로 변환

 

 

 

지금은 맨 앞을 월, 중간을 일, 마지막을 연도로 파악하고 바뀌었다.

 

 

만약 위 변환이 마음에 안든다면 직접 format 형식을 지정해줘야 한다.

 

 

 

 

 

 

 

format 지정

 

 

첫번째를 일, 중간을 월, 마지막을 연도로 지정

 

 

 

 

첫번째를 연도, 중간을 월, 마지막을 일로 설정

 

 

 

 

위 예시는 연월일을 / 로 구분했다.

 

 

 

만약 다른 문자열로 구분되었다면 format에도 그 문자열을 넣어야한다.

 

 

 

 

지금은 연월일이 - 로 구분되었다.

 

 

따라서

 

 

format에도 - 를 넣어 구분했다.

 

 

 

 

 

 

 

시간 형식 지정자

 

시간 형식 지정자 의미 결과
%a 요일 (짧은 이름) Sun, Mon, ..., Sat
%A 요일 (긴 이름) Sunday, Monday...
%w 요일 (숫자, 0부터 일요일) 0, 1, 2, 3, 4, 5, 6
%d 날짜 (2자리) 01, 02, ...., 31
%b 월 (짧은 이름) Jan, Feb, ..., Dec
%B 월 (긴 이름) January, Feburary,...
%m 월 (숫자) 01, 02, ..., 12
%y 연 (2자리) 00, 01, ..., 99
%Y 연 (4자리) 1960, 2002, 2020, ...
%H 시간 (24시간) 00, 01, ..., 23
%I 시간 (12시간) 01, 02, ..., 12
%M 분 (2자리) 00, 01, ..., 59
%S 초 (2자리) 00, 01, ..., 59

 

 

 

 

 

 

 

 

 

연, 월, 일 뽑아내기

 

 

0번 행의 연, 월, 일을 뽑으려면

 

0번 행을 가져와서 year, month, day 속성을 이용한다.

 

 

 

 

dayofweek은 요일을 숫자로 뽑아낸다.

 

 

 

 

 

 

 

컬럼(시리즈) 통째로 연, 월, 일 뽑기

 

 

하나씩 인덱싱해서 이용하기엔 번거로우니

 

한 컬럼씩 하기위해선 dt 연산자를 이용하면 된다.

 

 

 

 

date_sr 시리즈에서 연도만 한꺼번에 뽑아낼 수 있다.

 

 

 

dt 연산자 없이는 에러가 발생한다.

 

 

 

 

 

 

이제 데이터프레임으로 변경해서 컬럼으로 추가해주면 된다.

 

 

 

 

 

즉, 하나씩 이용하면 바로

 

.year  .month   .day 등을 이용하면 되고

 

 

 

컬럼 단위(시리즈)의 날짜를 한꺼번에 얻으려면

 

.dt.year    .dt.month    .dt.day 

 

이렇게 이용하면 된다.

반응형