RUBY
[CRIME] 9. 구별 데이터 얻기 본문
서울시 범죄 현황 데이터 분석 프로젝트
9. 구별 데이터 얻기
구별 데이터 얻기
- 경찰서별 데이터로 정리되어 있다.
- 서울은 한 구에 경찰서가 두 곳인 구가 있다.
- 그러므로 구의 이름으로 다시 정렬해야 한다.
1.
- 데이터를 다시 읽어오자
- 중간에 데이터를 파일로 저장해두면 테스트 코드가 긴 경우에 중간부터 다시 작업할 수 있다.
# index_col "구분"을 인덱스 컬럼으로 설정
crime_anal_station = pd.read_csv(
"../data/02. crime_in_Seoul_raw.csv", index_col=0, encoding="utf-8")
crime_anal_station.head()
2.
- pivot_table을 이용해서 구별로 정리하자
- pivot_table의 func을 sum으로 잡자
- 필요없는 컬럼은 제거(del)한다.
crime_anal_gu = pd.pivot_table(crime_anal_station, index="구별", aggfunc=np.sum)
del crime_anal_gu["lat"]
crime_anal_gu.drop("lng", axis=1, inplace=True)
crime_anal_gu.head()
3.
- 검거율 생성
- 하나의 컬럼을 다른 컬럼으로 나눈다.
crime_anal_gu["강도검거"] / crime_anal_gu["강도발생"]
4.
- 다수의 컬럼을 다른 컬럼으로 나누기
crime_anal_gu[["강도검거", "살인검거"]].div(crime_anal_gu["강도발생"], axis=0).head(3)
5.
- 다수의 컬럼을 다수의 컬럼으로 각각 나누기
num = ["강간검거", "강도검거", "살인검거", "절도검거", "폭력검거"]
den = ["강간발생", "강도발생", "살인발생", "절도발생", "폭력발생"]
crime_anal_gu[num].div(crime_anal_gu[den].values).head()
6.
target = ["강간검거율", "강도검거율", "살인검거율", "절도검거율", "폭력검거율"]
num = ["강간검거", "강도검거", "살인검거", "절도검거", "폭력검거"]
den = ["강간발생", "강도발생", "살인발생", "절도발생", "폭력발생"]
crime_anal_gu[target] = crime_anal_gu[num].div(crime_anal_gu[den].values) * 100
crime_anal_gu.head()
7.
- 필요없는 컬럼을 제거한다.
del crime_anal_gu["강간검거"]
del crime_anal_gu["강도검거"]
crime_anal_gu.drop(["살인검거", "절도검거", "폭력검거"], axis=1, inplace=True)
crime_anal_gu.head()
8.
- 당연히 작년 발생 범죄도 검거했을테니, 단순 계산상으로는 검거율이 100이 넘을 수 있다.
- 이에 대해서라면 발생 연도와 검거 연도를 구분하고 분석하여야겠지만, 아직 스터디 단계이니 디테일까지는 무시하고
- 나중에 heatmap 등의 그래프에서 문제가 될 수 있어 강제로 100이상의 수치는 100으로 만들어본다.
9.
- 100보다 큰 숫자 찾아서 바꾸기
crime_anal_gu[crime_anal_gu[target] > 100] = 100
crime_anal_gu.head()
10.
- 컬럼명을 보기 좋게 바꿔준다.
crime_anal_gu.rename(columns={"강간발생": "강간", "강도발생": "강도", "살인발생": "살인", "절도발생": "절도", "폭력발생": "폭력"},
inplace=True)
crime_anal_gu.head()
'데이터 분석 > EDA_웹크롤링_파이썬프로그래밍' 카테고리의 다른 글
[CRIME] 11. seaborn (0) | 2023.02.03 |
---|---|
[CRIME] 10. 범죄 데이터 정렬을 위한 데이터 정리 (0) | 2023.02.03 |
[CRIME] 8. Google Maps을 이용한 데이터 정리 (1) | 2023.02.03 |
[CRIME] 7. Python의 반복문 (0) | 2023.02.03 |
[CRIME] 6. Google Maps API설치하기 (0) | 2023.02.03 |
Comments