반응형

11. 판다스 데이터프레임(DataFrame) 데이터 타입 변경

1) 기본 코드

import pandas as pd
import numpy as np

data = [['B00232', '새우깡', '2022-11-01', 1600],
         ['B03215', '양파링', '2023-01-31', 1200],
         ['B12098', '계란과자', '2022-06-03', 1400]]
columns = ['바코드', '제품명', '유통기한', '판매가']

df = pd.DataFrame(data=data, columns=columns)

df = df.set_index('바코드')

#판매가 열의 데이터 형식 변경 (int64->int32)
print(df.dtypes)
df2 = df.astype({'판매가':'int32'})

print(df2.dtypes)

#유통기한 열의 데이터 형식 변경(object(string) -> datetime)
df['유통기한'] = pd.to_datetime(df['유통기한'], format="%Y-%m-%d")
print(df.dtypes)

 

반응형

 

2) 실행 결과

print(df.dtypes)
df2 = df.astype({'판매가':'int32'})

print(df2.dtypes)
제품명     object
유통기한    object
판매가      int64
dtype: object

제품명     object
유통기한    object
판매가      int32
dtype: object
  • 데이터 프레임에서 제품명, 유통기한은 문자열(object가 문자열을 뜻함), 판매가는 int64 타입
  • astype 매서드로 판매가 열의 형식을 int64->int32로 변경
df['유통기한'] = pd.to_datetime(df['유통기한'], format="%Y-%m-%d")
print(df.dtypes)
제품명             object
유통기한    datetime64[ns]
판매가              int64
dtype: object
  • 유통기한 열을 pd.to_datetime()을 이용하여 날짜 타입으로 변경
  • format에서 년, 월, 일이 입력되어 있는 형태를 입력
    • 현재 yyyy-mm-dd
    • %Y : 4자리 년도, %y : 2자리 년도
    • '-' : 년, 월, 일을 구분한 구분자 (없으면 안씀)
반응형

+ Recent posts