-
문자열(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)
하지만 오류가 발생했다.
이유는 간단하게 유추해낼 수 있었다.
숫자로 이루어진 문자열타입이 아닌 특수기호 ' / ' 가 들어가 있어서 이다.
타입을 변경하기엔 꽤나 조건이 까다로운것 같다.
파이썬은 오류가 발생했을 때 정말 친절하게 오류가 발생한 위치를 설명해주고,
무엇때문에 발생했는지 알려주기에 수정하기가 쉽다.