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

유현민·2021년 10월 2일
0

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

  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개의 댓글

관련 채용 정보