본문 바로가기

CS?/pandas

[Python/pandas] 컬럼마다 적절한 데이터 형태로 값을 바꾸고 싶을 때 - infer_objects()

반응형

데이터프레임에서 입력한 값과 dtype을 통해 확인한 값이 다를 때가 있다. 그 중에서도 object 타입으로 되어 있을 때, 데이터프레임 infer_objects()가 적절한 데이터타입을 추천해준다. (사실 추천이라기 보단 추측해서 제안하는 것이다)

 

DataFrame.infer_objects()

 

리턴값

입력한 컬럼의 변환된 데이터 타입이 반환된다.

 

 

예시로 살펴보자!

 

df = pd.DataFrame({'int': ["a",1, 2,]})
df

 

먼저 문자와 숫자가 섞인 int라는 이름의 컬럼을 데이터프레임에 만든다.

 

df.iloc[1:].dtypes

a가 있는 행을 제외한 나머지 두 행만 뽑아 데이터 타입을 검색해보면 int가 아닌 object 타입으로 설정된 것을 볼 수 있다.

 

df.iloc[1:].infer_objects().dtypes

 

이 때 infer_objects()를 사용하면  int64로 타입 제안하는 것을 볼 수 있다.

 


본 포스팅은 모두의 연구소 I love data 랩에서 진행하였습니다.

 

전체 코드는 아래 colab 노트북에서 확인해주세요

 

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

 

pandas.DataFrame.infer_objects — pandas 1.5.1 documentation

Convert argument to best possible dtype.

pandas.pydata.org

 

반응형