사고다발지역 분석

유현민·2021년 10월 2일
0

사고다발지역을 분석하여 위치선정을 진행하였다. 데이터는 TASS 교통사고 정보 개방시스템 에서 가져왔다.

  1. 필요한 패키지를 로드해 주었다.
import pandas as pd
import folium
import re
  1. 필요한 데이터 불러오기
df = pd.read_csv('../data/보행고령자 사고다발/보행고령자 사고다발지역.csv',)

  1. 컬럼명 수정
df_1 = df[['시도시군구명','지점명','발생건수','사상자수','경도','위도']]

  1. 서울데이터만 따로 저장
acc = []
for i in range(len(df_1)):
    if '서울' in df_1.loc[i,'시도시군구명']:
        acc.append(df_1.loc[i])
  1. 서울데이터를 데이터프레임으로 만들기
df_acc = pd.DataFrame(acc)

  1. 컬럼명 변경
df_acc.columns = ['구','지점','발생건수','사상자수','경도','위도']
  1. ',' 제거
df_acc['구'] = df_acc['구'].str.replace('서울특별시 ','')
  1. 숫자 제거
gu = []
for i in df_acc['구']:
    tmp = re.sub(r'[0-9]+','',i)
    gu.append(tmp)

df_acc['구'] = gu
  1. 지점에서 서울특별시를 제거
df_acc['지점'] = df_acc['지점'].str.replace('서울특별시 ','')
  1. 인덱스 초기화 후 삭제
df_acc.reset_index(inplace=True)

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

  1. csv 파일로 저장
df_acc.to_csv('../data/보행고령자 사고다발/서울 고령자사고다발지역.csv')
  1. 구별 발생건수 확인
k = df_acc.groupby('구')['발생건수'].sum()
k = pd.DataFrame(k)
k.sort_values('발생건수',inplace=True, ascending=False)

  1. 지도로 나타낸다.
center = [37.541 , 126.986]
mapdata = folium.Map(location=center, zoom_start = 12)

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

  1. 분석결과
    동대문구가 사고가 가장 많이 일어남

출처

TASS 교통사고 정보 개방시스템(http://taas.koroad.or.kr/web/shp/adi/initOpenApi.do?menuId=WEB_KMP_TAI_TOS)

profile
smilegate

0개의 댓글

관련 채용 정보