관리 메뉴

RUBY

[CRIME] 3. 데이터 확인하고 초기 정리하기 본문

데이터 분석/EDA_웹크롤링_파이썬프로그래밍

[CRIME] 3. 데이터 확인하고 초기 정리하기

ruby-jieun 2023. 2. 3. 00:45

 

 

 

 

 

서울시 범죄 현황 데이터 분석 프로젝트
3. 데이터 확인하고 초기 정리하기


 

 

 

 

 

1. 필요한 모듈을 import 한다.

  - 먼저 numpy와 pandas를 사용한다.

import numpy as np 
import pandas as pd

 

 

2.

- 숫자들이 콤마(,)를 사용하고 있어서 문자로 인식될 수 있다.

- 천단위 구분(thounsands=',') 이라고 알려주면 콤마를 제거하고 숫자형으로 읽는다.

crime_raw_data = pd.read_csv("../data/02. crime_in_Seoul.csv", thousands=",", encoding="euc-kr")
crime_raw_data.head()

 

 

3.

 - info() : 데이터의 개요 확인하기

 - RangeIndex가 65534인데 데이터가 310개가 확인된다.

crime_raw_data.info()

 

 

4. 

 - 특정 컬럼에서 unique 조사

 - NaN값이 들어가 있다.

   (NaN은 잘못된 입력으로 인해 계산을 할 수 없음을 나타내는 기호)

crime_raw_data["죄종"].unique()

 

 

5.

 - '죄종'에서 NaN값만 추출해보자

crime_raw_data[crime_raw_data["죄종"].isnull()].head()

crime_raw_data[crime_raw_data["죄종"].isnull()]
crime_raw_data

 - 엑셀에서 읽을 때에는 정상이지만 수 많은 NaN 데이터가 보인다.

 - 이 것은 index가 65535의 크기를 가지게 되면서 실제 value와의 크기 차이가 발생했기 때문이다.

 - 이럴 때는 nan을 제거하는 것이 아니라 nan이 아닌 실제 데이터만 다시 가져오자

 - 이 상황은 연도별로 다르다.

 

 

6. 

 - NaN을 정리하기 전에 데이터의 크기는 2MB였지만 12.1kb정도로 잘 정리되었다.

crime_raw_data = crime_raw_data[crime_raw_data["죄종"].notnull()]
crime_raw_data.info()

 

 

 

7.

 - 이 데이터는 현재 의미가 없다.

 - 형태가 세로축에 서울시 구이름, 가로축에 5대 범죄 수치가 있었으면 좋겠다.

crime_raw_data.head()

 

Comments