ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문자열(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)

    하지만 오류가 발생했다.

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

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

     

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

     

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

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

    댓글

Designed by Tistory.