728x90
판다스는 테이블 데이터 및 시계열 데이터 구조를 조작하는 탁월한 기능을 제공하는 라이브러리
판다스는 내부적으로 넘파이를 포함하고 있어 날짜와 시간 관련 기능도 datetime64를 바탕으로 이루어지고 있다.
Timestamp와 DatetimeIndex
- pd.Timestamp()
- pd.to_datetime()
- pd.date_range()
import pandas as pd
pd.Timestamp(1239.1238934) # 디폴트 나노초
결과 : Timestamp('1970-01-01 00:00:00.000001239')
pd.Timestamp(1239.1238934, unit='D') # 단위를 '일'로 바꿔서 실행해봅시다.
결과 : Timestamp('1973-05-24 02:58:24.389760')
pd.Timestamp('2019-1-1')
결과 : Timestamp('2019-01-01 00:00:00')
Timestamp() 함수는 특정 시점을 나타내는 날짜와 시간을 표현한다.
판다스에서도 Timestamp 함수에 수치 데이터를 전달하고 unit(단위) 값을 매개변수로 넘기면 넘파이에서 살펴본 유닉스 시간을 이용한 방식임을 알 수 있다.
유닉스 시간 이용 : UTC 시간 '1970년 1월 1일 00:00:00'부터 현재까지 경과 시간을 초 단위로 환산해 나타낸 방식
pd.date_range('2019-01','2019-02')
date_range() 함수 : 특정 기간의 날짜를 자동 생성한다.
'2019-01'과 '2019-02'를 전달하면 출력 결과는 2월 말까지 데이터를 생성하는 것이 아니라 2월 1일자 데이터만 생성
Period와 PeriodIndex
- pd.Period()
- pd.period_range()
pd.Period('2019-01')
결과: Period('2019-01', 'M')
pd.Period('2019-05', freq='D')
결과 : Period('2019-05-01', 'D')
pd.period_range('2019-01','2019-02',freq='D')
결과 : 2019-01-01 ~ 2019-01-31, 2019-02-01
Timestamp Vs. Period
Timestamp는 한 시점을 뜻하고,
Period는 1일의 시작 시점부터 종료 시점까지의 범위를 포괄한다.
p = pd.Period('2019-06-13')
test = pd.Timestamp('2019-06-13 22:11')
p.start_time < test < p.end_time
p -> start_time (2019-06-13 00:00:00) end_time (2019-06-13 23:59:59.999999999) 을 가진다.
728x90
'핀테크 교육 > 금융데이터 활용' 카테고리의 다른 글
상관관계 분석 (0) | 2022.07.04 |
---|---|
데이터프레임 활용 (0) | 2022.07.04 |
FinanceDataReader (0) | 2022.07.04 |
시계열데이터 파이썬 (날짜와 시간 - numpy) (0) | 2022.07.04 |
시계열데이터 파이썬 (날짜와 시간) (0) | 2022.07.04 |