본문 바로가기
Python/Pandas

[pandas] 날짜 데이터 다루기

by ISLA! 2023. 8. 9.

to_datetime

사용법 : pd.to_datetime(df)

  • 문자열에 적용하면 timestamp 유형이 됨
  • 리스트에 적용하면 datetime64 유형이 됨
#문자열에 to_datetime => timestamp
date_string = "2023-03-02"
print(type(date_string))

datetime_obj = pd.to_datetime(date_string)
print(datetime_obj)
print(type(datetime_obj))

#리스트에 to_datetime => datetime64
date_list = ["2023-03-02"]
print(type(date_list))

datetime_obj = pd.to_datetime(date_list)
print(datetime_obj)
print(type(datetime_obj))

 

  • object 타입의 데이터를 날짜(datetime)형으로 변환하기
#코드 예시 : sales의 ['datesold'] 컬럼 데이터 타입 변경

sales['datesold'] = pd.to_datetime(sales['datesold'])

 

datetime에서 연도, 월, 일을 추출

 

  • 기본적으로 datetime 유형에만 해당 메서드 적용가능
  • 사용법 : df.dt.year 
sales['year'] = sales['datesold'].dt.year
sales['month'] = sales['datesold'].dt.month
sales['day'] = sales['datesold'].dt.day

 

시차 다루기 : shift 기능

 

  • 사용법 : df['컬럼명'].shift(숫자, fill_value=0)
    • 숫자는 정수로 나타나고, 예를 들어 1은 뒤로 한 행 앞에서 값을 당겨오는 것
    • fill_value 는 값이 없는 부분을 어떻게 처리할 지
    • shift 한 것과 기존 컬럼의 차를 이용해 증감정도를 파악할 수 있다.
temp_df['shifted_v1'] = temp_df['price'].shift(1, fill_value=0).astype(int)
temp_df['diff'] = temp_df['price'] - temp_df['shifted_v1']

 

Datetime 타입을 한글 날짜로

 

사용법 : df['컬럼명'].dt.strftime(날짜의 형식)

sales['한글날짜'] = sales['datesold'].dt.strftime('%Y년 %m월 %d일')
sales.head()

 

728x90