사고다발지역 분석

3082 단어 pythonpython

사고다발지역을 분석하여 위치선정을 진행하였다. 데이터는 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)

좋은 웹페이지 즐겨찾기