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와 같은 코드 활용

출처: https://ivo-lee.tistory.com/90

 

5. 결과물 예시

 

 

 

참고 출처: https://bigdaheta.tistory.com/16, https://acdongpgm.tistory.com/195

728x90

+ Recent posts