728x90
1. 주어진 날짜 데이터의 범위 확인
set(data['base_date'].unique())
#21년 9월 1일부터 ~ 22년 8월 31일까지
2. 날짜 데이터의 형태 확인
data['base_data']
# 0 20220623
# 1 20220728
# 2 20211010
# 3 20220311
# 4 20211005
# ...
# 291236 20220827
# 291237 20220819
# 291238 20220805
# 291239 20220812
# 291240 20220812
# Name: base_date, Length: 4992458, dtype: int64
=> 년, 월, 일이 분리되지 않은 int64 데이터타입
=> pandas의 to_datetime 함수: 시계열/날짜 데이터 전처리에서 주로 사용되는 함수
해당 함수는 문자열만을 다루므로, 주어진 날짜 데이터를 문자열로 바꾼 후 to_datetime 함수 적용.
3. lamda 활용하여 pandas의 to_datetime 함수 적용
data['basedate_datetime'] = data['base_date'].apply(lambda x: pd.to_datetime(str(x), format='%Y-%m-%d'))
#결과물 확인
data['basedate_datetime'].head
# bound method NDFrame.head of 0 2022-06-23
# 1 2022-07-28
# 2 2021-10-10
# ...
# Name: basedate_datetime, Length: 4992458, dtype: datetime64[ns]> #datetime 형태로 변환됨을 확인
4. 년도, 월, 일, 요일 정보 추출하여 별도의 columns 생성
data['basedate_y'] = data['basedate_datetime'].dt.strftime('%Y') #년
data['basedate_m'] = data['basedate_datetime'].dt.strftime('%m') #월
data['basedate_md'] = data['basedate_datetime'].dt.strftime('%m-%d') #월-일
data['basedate_day'] = data['basedate_datetime'].dt.day_name() #요일
- 년, 월, 일 : dt.strftime 함수 사용
- 요일: dt.day_name 함수 사용
- %Y, %, %m-%d와 같은 코드 활용
5. 결과물 예시
참고 출처: https://bigdaheta.tistory.com/16, https://acdongpgm.tistory.com/195
728x90
'AI > Data Science' 카테고리의 다른 글
[ML] 빅데이터 메모리 사용량 줄이기 (0) | 2022.12.05 |
---|---|
[이론] The Kalman filter, 칼만 필터 (1) | 2022.10.26 |
Validation 데이터 분할, K-fold 교차검증 (0) | 2022.10.07 |
(Random Forest) train-test 분할 및 간단한 모델 학습 (1) | 2022.10.05 |
불균형한 데이터 분포 전처리하기 (1) | 2022.10.05 |