낭만적(?) 일상/파이썬, 데이터분석

파이썬 기술통계, 데이터타입 확인, 데이터타입 변경

Soo♥JJeong 2019. 6. 27. 15:27

JupyterLab(또는 JupyterNotebook)에서 데이터를 불러왔다면(파싱했다면), 이제 기술통계를 확인하고, 데이터 타입을 확인해봐야한다.

 



df2.describe()    #기술통계 확인
df2.dtypes        #데이터 타입 확인

 

어떤 것에는 ()를 붙이고, 어떤 것은 안붙이는지 기준을 잘 모르겠다. 익숙해지는 것만이 답인듯하다.

 

describe()를 실행하면 가끔 기술통계가 나와야하는데 나오지 않는 경우가 있다. 그 이유는 데이터 타입이 int(숫자)가 아니기 때문! 아래 예제 데이터는 공공데이터포털에서 가져왔다고 하는데, 데이터타입이 무려 문자형이다. (공공데이터 포탈에 데이터 업로드 하는 모든 분들에게 데이터타입에 대한 교육이 시급해보인다.)

 

 

오마이갓. 맨 위 숫자 표에 있는 콤마(,)는 모두 텍스트로 찍었다는거다. 그렇다면, 데이터타입을 변경해줘야겠지.  

 

 

* 콤마(,)를 삭제하고 데이터타입을 문자에서 숫자(int)로 바꾸는 코드

 



df2[df2.columns[2:]] = df2[df2.columns[2:]].apply(lambda x : x.str.replace(',','').astype(int))    

 

먼저 밑줄친 df2.columns[2:]의 의미는 'df2의 컬럼명을 2번째부터 끝까지 가져와라' 그리고 밑줄 안친 df2는 df2에 밑줄친 것을 넣으라는 뜻이다.

 

 

apply : 모든 원소에 적용하겠다는 메소드

lambda x : ':' 뒤에 오는 내용이 사용자가 만든 함수

replace(수정전, 수정후) : 수정전을 수정후로 바꿔라 

astype(int) : 자료형을 int로 변경하겠다

 

 

 

결과창을 보면, 콤마가 빠지고 데이터들이 숫자형으로 바뀐 것을 확인할 수 있다.

 

 

* 위 내용은 내돈내고(!)  '드립력으로 머신러닝 배우기 중급반' 에서 배운 내용이다.

** 혹시 수정되어야 할 부분이 있으면 댓글로 알려주세요! (저도 공부하는 중입니다 ^^)