python and pandas datetime 과 to_datetime 활용

180607_datetime

Python 표준 라이브러리로서 datetime 모듈 사용

In [1]:
from datetime import datetime
In [2]:
now = datetime.now()
In [3]:
now
Out[3]:
datetime.datetime(2018, 6, 7, 21, 28, 50, 734895)
In [4]:
now.year, now.month, now.day, now.date
Out[4]:
(2018, 6, 7, <function datetime.date>)

datetime.timedelta datetime 객체 간의 시간적인 차이

In [5]:
delta = datetime.now() - datetime(2011,10,10)
In [6]:
delta
Out[6]:
datetime.timedelta(2432, 77556, 36594)
In [7]:
delta.days
Out[7]:
2432
In [10]:
delta.seconds
Out[10]:
77556
  • date 날짜(년,월,일)
  • time 시간,분,초,마이크로초
  • datetime 날짜와 시간을 같이 저장
  • timedelta 두 datetime 값 같의 차이 (일, 초, 마이크로 초로 표현 한다)

문자열을 datetime으로 변환하기

datetime 객체와 pandas 의 Timestamp 객체는 str 메서드나 strftime 메서드에 포맷 규칙을 넘겨 문자열로 나타낼 수 있다.

In [14]:
stamp = datetime(2018,6,8)

stamp
Out[14]:
datetime.datetime(2018, 6, 8, 0, 0)
In [16]:
stamp.strftime('%y.%m.%d')
Out[16]:
'18.06.08'

datetime -> 문자열 datetime.strftime(someday, '%Y-%m-%d')

문자열 -> datetime datetime.strptime('str date', '%Y-%m-%d')

포맷을 적어주기 귀찮다면

In [18]:
from dateutil.parser import parse

parse('2011-01-01')
Out[18]:
datetime.datetime(2011, 1, 1, 0, 0)

pandas 에서는 pd.to_datetime('2018-06-07')

댓글

Designed by JB FACTORY