day21

박광준·2023년 5월 3일
0

EDA - 서울시 범죄 현황에 대한 지도 시각화

사용한 json 파일 출처

범죄에 대한 지도 시각화

정규화된 데이터파일(csv)과 서울시 외곽지도 데이터(json) 준비

살인 건수 지도 시각화

성범죄 발생 건수 지도 시각화

5대 범죄 발생 건수 지도 시각화

인구대비 범죄 발생 건수

경찰서 데이터 정리

경찰서별 범죄 발생/검거, 경찰서 위도/경도 데이터 불러오기

정규화된 검거 데이터 추가

for - iterrows() 이용한 데이터 지도 표기

경찰서 위치 지도에 마커 표기

  • folium.Marker()
  • 최종 가공된 데이터 프레임에서 위도와 경도 표기

구별 범죄와 검거 건수 지도에 표기

나타낼 지도 범위

my_map = folium.Map(
    location=[37.5502, 126.982], zoom_start=11,
)

구별 범죄 발생 건 지도에 표기

  • 구별 경계선으로 구분
  • 정규화된 5대 범죄 건수 발생 색상으로 구분
folium.Choropleth(
    geo_data=geo_str,
    data=crime_anal_norm['범죄'],
    columns=[crime_anal_norm.index, crime_anal_norm["범죄"]],
    key_on="feature.id",
    fill_color="PuRd",
    fill_opacity=0.7,
    line_opacity=0.2,
).add_to(my_map)

경찰서별 검거 건 지도에 표기

  • 경찰서별 위도/경도 데이터를 CircleMarker의 location 옵션에 할당
  • 정규화된 검거 값 * 50을 radius인자에 할당하여, 검거가 많을수록 큰 원을 가지게 함
for idx, rows in crime_anal_station.iterrows():
    folium.CircleMarker(
        location=[rows["lat"], rows["lng"]],
        radius= rows["검거"] * 50,
        popup= rows["구별"] + " : " + "%.2f" % rows["검거"],
        color="#3186cc",
        fill=True,
        fill_color="#3186cc"
    ).add_to(my_map)

결과


진할수록 범죄가 많은 구이고 원이 클수록 검거가 많이되는 것을 알 수 있다.
강남은 구가 꽤 넓고, 범죄가 많이 일어남을 알 수 있다.
또한 근처에 경찰서도 2개나 있고, 검거가 많이 일어남을 알 수 있다.


EDA - 서울시 범죄 현황 발생 장소 분석

추가 검증

  • 강남이 범죄 발생이 많은 원인이 유흥업소의 수와 관련있는지 확인

최초 범죄 데이터 재확인

범죄명과 장소가 있는 것을 확인

장소와 범죄 상관관계 확인

종류

pivot_table 로 상관관계 확인

범죄 정규화

  • 정규화 하여 총합 컬럼에 기입

seaborn을 이용한 데이터 시각화

모듈 선언

sns.heatmap()

  • 정규화된 "총합"을 기준으로 내림차순 정렬

결과

기타의 값은 의미 없는 값이므로 제외하고 본다하면, 유흥 점객업소의 범죄율이 상위권이 아닌 것을 확인할 수 있다.
따라서 강남이 범죄가 많은 것은 유흥업소와는 관련이 없다.


0개의 댓글