반응형
# datetime64란?
- 날짜와 시간을 저장하는 자료 형태
- datetime을 보완하기 위한 라이브러리
- numpy에서 64bit로 처리하도록 변경
- pandas에서는 Timestamp로 사용
# timedelta64란?
- 날짜/시간 연산시 각자 가지고있는 기준이 다르기 때문에(연-월-일-시-분-초) 이를 저장하기 위한 별도의 클래스
- timedelta를 보완하기 위한 라이브러리
- numpy에서 64bit로 처리하도록 변경
- pandas에서는 Timedelta로 사용
# 각각의 라이브러리에서 정의된 날짜 타입
라이브러리 | 날짜시간 클래스 | 타임델타 클래스 |
datetime | datetime, date, time | timedelta |
numpy | datetime64 | timedelta64 |
pandas | Timestamp | Timedelta |
# Numpy
datetime64
- 넘파이로 텍스트로 날짜 타입으로 정의하기
- numpy.datetime64(n) : 컴퓨터가 이해할 수 있는 날짜의 형태를 넘파이를 이용하여 변환
- numpy.array( array, dtype='datetime64') : 배열의 타입을 지정해주면 날짜/시간 타입을 같은 형태로 저장
- '연-월-일' 의 순서대로 입력하여야 함. 그 외는 에러 출력
timedelta64
- 넘파이로 날짜 계산해보기
- 넘파이에서는 정수 데이터를 이용하여 날짜 계산이 가능
- 타임델타를 활용하여 날짜 연산
- numpy.timedelta64(n) : n의 값을 날짜/시간으로 변경
# Pandas
Timestamp
- 판다스로 텍스트를 날짜 타입으로 정의하기
- pandas.Timestamp(n) : 컴퓨터가 이해할 수 있는 날짜의 형태를 판다스를 이용하여 변환
- '연-월-일 시:분:초'의 형태로 저장
- '연, 월, 일, 시, 분, 초'순으로 입력
- 판다스에서 날짜 입력시 하이픈(-) / 슬래쉬(/) / 쉼표(,)로 입력
- 입력은 두가지 형태 : '연->월->일' / '월->일->연'
Timedelta
- 판다스로 날짜 계산해보기
- 판다스에서는 정수 데이터를 이용하여 날짜 계산이 불가
- 타임델타 활용
- pandas.Timedelta(n, unit=m) : n의 값을 m의 날짜/시간으로 변경
- unit : (W:주, D:일, T:분, S:초) 주어진 기준으로 n의 값을 계산
- pandas.to_timedelta : 동일
- pandas.Timedelta(n, unit=m) : n의 값을 m의 날짜/시간으로 변경
# DatetimeIndex
- 특정한 순간에 기록된 날짜형식의 데이터타입
- 날짜 데이터를 다루기 위한 인덱스
- 인덱스를 사용하기 위해서는 다음과 같은 함수를 사용하여 생성
- pandas.to_datetime : 문자열을 자동으로 datetime의 자료형으로 변환
- pandas.date_range : 시작일과 종료일 사이의 범위의 날짜를 datetime의 자료형으로 변환
to_datetime
- 문자열의 데이터를 날짜 타입으로 정의
- 자동으로 날짜 인덱스 부여
- 타임스탬프와 규칙 같음
- pandas.to_datetime(n) : 컴퓨터가 이해할 수 있는 날짜의 형태를 판다스를 이용하여 변환
to_timedelta
문자열의 데이터를 날짜 타입으로 정의하나, 날짜 계산에 용이하게끔 변환
타임델타와 규칙 같음
자동으로 타임델타 인덱스 부여
- pandas.to_timedelta(n, unit) : n의 값을 unit의 부여 값에 따라 날짜로 변환
- unit : (W:주, D:일, T:분, S:초) 주어진 기준으로 n의 값을 표기
date_range
- 판다스로 날짜 기간을 특정 주기로 정의
- 기간내 주기별로 인덱스를 부여할 때 사용
- pandas.date_range('시작날짜', '끝나는날짜', freq=n) : 시작일부터 종료일까지의 날짜를 특정 주기로 출력
- 기본 값은 하루 단위, freq 미기재시 하루 단위로 출력
- freq : 주기 설정 ( D:일, W:주, M:월, Y:년 )
timedelta_range
- 연-월-일이 아닌 날짜 계산에 용이하게 하나의 단위를 가지는 값으로 변환
- 기간내 주기별로 인덱스를 부여할 때 사용
- pandas.timedelta_range('시작값', '끝값') : 시작값부터 끝값까지의 날짜/시간를 특정 주기로 출력
- 주기 설정 : D:일, W:주, M:월, Y:년
- 사실 이 부분은 나도 정확히 이해가 되지 않아 내가 이해한대로 예시를 올려두겠음
- 1일부터 10일까지의 타임델타 인덱스 데이터
- 10일부터 14일까지의 타임델타 인덱스 데이터
반응형