동대문구 고령자 사고다발지 분석

유현민·2021년 10월 2일

동대문구 고령자 사고가 가장 많이 일어났기 때문에 동대문구 안에서 노인보호구역을 지정

  1. 필요한 패키지로드
import pandas as pd
import folium
  1. 데이터 가져오기
df_acc = pd.read_csv('../data/보행고령자 사고다발/서울 고령자사고다발지역.csv')

  1. 동대문구의 데이터만 가져와서 저장
df_d = df_acc[df_acc['구']=='동대문구']

df_d.to_csv('../data/보행고령자 사고다발/동대문구 사고다발지역.csv')

  1. 데이터 전처리
df_d.drop('Unnamed: 0',axis=1,inplace=True)

df_d.sort_values('발생건수',inplace=True,ascending=False)
df_d.reset_index(inplace=True)

df_d.drop('index',axis=1,inplace=True)

  1. 동대문구 사고다발지 지도에 나타내기
center = [37.579 , 127.045]
mapdata = folium.Map(location=center, zoom_start = 14)

for temp in df_d.index:
    folium.Circle(
    [df_d['위도'][temp], df_d['경도'][temp]],
    radius = int(df_d.loc[temp, ['발생건수']].values[0] * 8), color='red', fill_color='red'
    
    ).add_to(mapdata)
mapdata

center = [37.579 , 127.045]
mapdata = folium.Map(location=center, zoom_start = 15)

for temp in df_d.index:
    folium.Circle(
    [df_d['위도'][temp], df_d['경도'][temp]],
    radius = 8, color='red', fill='crimson'
    
    ).add_to(mapdata)
mapdata

  1. 사고위치 반경 150m 안에 4곳이상이 있으면 그 구역을 후보지에 추가했고, 4곳이 후보지로 선정
all_a = pd.read_csv('../data/보행고령자 사고다발/동대문구 4개 비교.csv')
all_a = all_a.set_index('구역')

  1. 1번 구역
center = [37.57841294, 127.0377316]
mapdata = folium.Map(location=center, zoom_start = 16.3)


folium.Circle(
[37.57841294, 127.0377316],
radius = 150,color='red', fill_color='red'

).add_to(mapdata)
for temp in df_d.index:
    folium.Circle(
    [df_d['위도'][temp], df_d['경도'][temp]],
    radius = int(df_d.loc[temp, ['발생건수']].values[0] /2), color='red', fill_color='red'
    
    ).add_to(mapdata)
mapdata

  1. 2번 구역
center = [37.57949654, 127.0416463]
mapdata = folium.Map(location=center, zoom_start = 16.3)


folium.Circle(
[37.57949654, 127.0416463],
radius = 150,color='red', fill_color='red'

).add_to(mapdata)
for temp in df_d.index:
    folium.Circle(
    [df_d['위도'][temp], df_d['경도'][temp]],
    radius = int(df_d.loc[temp, ['발생건수']].values[0] /2), color='red', fill_color='red'
    
    ).add_to(mapdata)
mapdata

  1. 3번 구역
center = [37.58089546, 127.0455197]
mapdata = folium.Map(location=center, zoom_start = 16.3)


folium.Circle(
[37.58089546, 127.0455197],
radius = 150,color='red', fill_color='red'

).add_to(mapdata)
for temp in df_d.index:
    folium.Circle(
    [df_d['위도'][temp], df_d['경도'][temp]],
    radius = int(df_d.loc[temp, ['발생건수']].values[0] /2), color='red', fill_color='red'
    
    ).add_to(mapdata)
mapdata

  1. 4번 구역
center = [37.58993298, 127.0553216]
mapdata = folium.Map(location=center, zoom_start = 16.3)


folium.Circle(
[37.58993298, 127.0553216],
radius = 150,color='red', fill_color='red'

).add_to(mapdata)
for temp in df_d.index:
    folium.Circle(
    [df_d['위도'][temp], df_d['경도'][temp]],
    radius = int(df_d.loc[temp, ['발생건수']].values[0] /2), color='red', fill_color='red'
    
    ).add_to(mapdata)
mapdata

  1. 분석결과
    그 중에서 2, 3번 구역은 이미 선정이 되어있었고 나머지 두 곳 중에서 골랐다.
    보면 1번 구역은 시장근처이지만 지정이 되어있지않고 4번구역은 그냥 도로이며 주변에 복지시설또한 없다.
    발생건수를 보면 이미 지정이된 2 3 을 제외하고 1번이 4번 구역보다 월등히 높기때문에 1번구역을 선정했다.
profile
smilegate

0개의 댓글