카테고리 없음

문자열(str)데이터를 정수형(int) 데이터로 변환하기

심전코 2022. 4. 14. 02:18

 

앞선 데이터로 이어서 진행하겠다.

 

데이터셋을 불러오는 과정이 햇갈린다면 다시 보고오길 바란다.

https://battlecoding.tistory.com/10

 

데이터셋 불러오기 (cvs, xlsx 등)

데이터 분야를 공부한다면 제일 처음 해야하는게 데이터를 불러오는게 아닐까 생각된다. 뭐가 있어야 이래저래 갖고놀지.. 개발환경 실습에 앞서 개발환경은 구글 코랩을 사용한다. - 코랩이란?

battlecoding.tistory.com

 

데이터 타입 확인하기

 

df.dtypes

.dtypes 를 통해 데이터의 타입을 확인 할 수 있다.

변경 전

 

문자열데이터 변환하기

간단한 함수를 통해 변환이 가능하다.

# str(object)을 int로 바꾸는 함수
def toint(string) :
    return int(string.replace(',',''))

직역하자면,

define ==  정의하다 라는 의미로 as def  == ' 나 이제 함수 만들거다 ! ' 

toint 라는 함수 명을 지정해 주고 매개변수로는 string 을 지정해 주었다.

( 셀 끝에 : 을 빠트리면 문법상의 오류가 발생한다. )

반환값으론 int 를 내놓아라 (문자열의 데이터에서 .대신 치환을 하는데( 문자열에 들어간 ' , ' 을 ' ' (공란==없앤다?)) 

 

이제 만든 함수를 데이터에 적용 해 보자.

df['합격자 수'] = df['합격자 수'].apply(toint)
df['불합격자 수'] = df['불합격자 수'].apply(toint)

변경 후

지정한 컬럼의 데이터의 타입만 변경됨을 확인 할 수 있다.

 

오류

데이터프레임 중 '년/월' 의 컬럼의 타입도 문자열 인데 왜 바꾸지 않았냐?

물론 나도 시도는 해 보았다.

df['년/월'] = df['년/월'].apply(toint)

하지만 오류가 발생했다.

이유는 간단하게 유추해낼 수 있었다.

숫자로 이루어진 문자열타입이 아닌 특수기호 ' / ' 가 들어가 있어서 이다.

 

타입을 변경하기엔 꽤나 조건이 까다로운것 같다.

 

파이썬은 오류가 발생했을 때 정말 친절하게 오류가 발생한 위치를 설명해주고,

무엇때문에 발생했는지 알려주기에 수정하기가 쉽다.