본문 바로가기

데이터

파이썬 실습 - '민간 아파트 가격동향' 데이터 전처리

반응형

데이터 전처리 실습

 

 

 

 


데이터는 공공데이터 사이트에서 제공하는 '민간 아파트 가격동향' 파일을 사용했다.

먼저 pandas를 불러온 후 파일을 업로드한다.

 

 

 

 

 

 

컬럼의 이름을 다음과 같이 바꿔보자 

주의할 점은, columns 다음은 바뀌기 전과 바꾸고 난 후의 컬럼들을 사전 형태로 입력해야 한다는 것이다.

 

 

 

 

 

 

 

다음, 컬럼들이 null값을 가지고 있는지, 데이터 타입은 무엇인지 info를 찍어 확인해본다.

 

 

 

 

다음 통계값을 확인하기 위해 describe를 찍어본다.

 

 

 

 

 

 

분양가격의 데이터 타입이 object인데 이걸 int로 바꿔주고 싶다.

따라서 astype을 사용했으나 에러가 났다.

 

 

 

 

 

 

실제로 분양가격에서 공백이 있는 값들을 찍어보니 꽤 나오는 걸 확인할 수 있었다.

이 값들로 인해 astype이 실행되지 않는 것이었다.

 

 

 

 

 

 

 

따라서 일단 공백이 있는 것을 strip을 사용하여 없애줄 것이다.

참고로 컬럼의 문자열에 strip을 사용할 때는 str.strip()을 실행해줘야 한다.

그리고 공백이 없는 문자열을 찍어보면 다음과 같이 출력되는 걸 확인할 수 있다.

 

 

 

 

 

 

 

그럼 이 값들을 모두 0으로 만들어준다.

 

 

 

 

 

다음 다시 astype을 실행해보자.

또 에러가 난다.

그 이유는 NaN값이란다.

 

 

 

 

 

NaN값은 fillna(0)으로 채워주자

 

 

 

 

 

 

다음 astype을 다시 사용한다.

그러나 또 에러가 났다.

이번엔 콤마가 숫자에 콤마가 들어갔기 때문이다.

 

 

 

 

 

먼저 6,657의 행을 가져와본다.

 

 

 

 

 

replace를 사용해 공백으로 만들어준다.

해당 열은 문자열이기 때문에 str.replace를 사용한다.

 

 

 

 

 

 

 

그리고 iloc를 찍어보면 콤마가 사라진 걸 확이할 수 있다.

 

 

 

 

 

 

다음 또 astype을 실행시킨다.

그러나 또 에러가 뜬다. 다시 nan값 문제다.

 

 

 

 

 

 

 

다시 fillna를 사용한다.

 

 

 

 

 

 

또 astype을 실행시킨다.

그러나 이번엔 대쉬가 문제다.

 

 

 

 

 

다시 replace를 사용해서 대쉬를 공백으로 바꿔준다.

 

 

 

 

 

다시 astype을 실행시킨다.

또 nan값이 문제다.

 

 

 

 

 

다시 fillna를 해준다.

 

 

 

 

 

다시 astype를 실행시킨다.

공백이 문제다.

 

 

 

 

 

loc를 사용해 공백을 찍어본다.

 

 

 

 

 

그리고 공백을 0으로 만들어준다.

 

 

 

 

 

 

또 astype을 실행시킨다.

이번엔 정상적으로 작동한다.

 

 

 

 

 

 

그리고 info를 찍어보면 정상적으로 int로 바뀌었음을 확인할 수 있다.

 

 

 

 

 

또 규모구분 column에 불필요한 '전용면적'을 제거해주겠다.

아까와 같이 replace를 사용한다.

 

 

 

 

 

value_counts를 찍어보면 int로 바뀌었음을 확인할 수 있다. 

 

반응형