어린이 보호구역 지정 누적 개수 및 교통사고 건수 비교

유현민·2021년 10월 2일
2

연도별 어린이 보호구역 데이터와 앞에서 했던 어린이 교통사고 건수를 비교하였다.

  1. 필요한 패키지와 폰트를 로드해 주었다.
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
import matplotlib
import platform
if platform.system() == 'Windows':
    matplotlib.rc('font', family='Malgun Gothic')
    #Malgun 
%matplotlib inline
  1. 데이터 불러오기
df1 = pd.read_csv('../data/어린이 교통사고 구역 및 현황/서울시 어린이 교통사고 (2005~2009).csv')
df2 = pd.read_csv('../data/어린이 교통사고 구역 및 현황/서울시 어린이 교통사고(2010~2014).csv')
df3 = pd.read_csv('../data/어린이 교통사고 구역 및 현황/서울시 어린이 교통사고(2015~2019).csv')
df4 = pd.read_csv('../data/어린이 교통사고 구역 및 현황/서울시 어린이 교통사고(2020).csv')
  1. 데이터 전처리
df1 = df1.T
df2 = df2.T
df3 = df3.T
df4 = df4.T

df1[0] = df1[0].str.replace(',','')

df2.columns = [0]
  1. 데이터 합치기
all = pd.concat([df1,df2,df3,df4],axis=0)
  1. 컬럼 변경 및 타입 변경
all.columns=['사고합계']

all['사고합계'] = all['사고합계'].astype(int)

  1. 어린이 보호구역 합계 데이터 불러오기
r = pd.read_csv('../data/어린이 교통사고 구역 및 현황/년도별 어린이 보호구역 합계.csv', index_col=0)
  1. 데이터 전처리
r = r.T

8.데이터가 너무 옛날부터 있어서 2005년부터로 변경

r.drop('년도별', axis=1,inplace=True)

r.drop(['1995'], inplace=True)

r.drop(['1996','1997','1998','1999','2000','2001','2002','2003','2004'],inplace=True)

r.drop(['2021'],inplace=True)

  1. 그래프 그리기
plt.rcParams['figure.figsize'] = (14,7)
fig, ax1 = plt.subplots()
plt.figure(figsize=(30,20))
ax1.plot(all.index, all['사고합계'], color='red', label='어린이 교통사고 건수')
fig.suptitle('어린이보호구역 지정 누적 개수 및 교통사고 건수 비교 그래프', fontsize=15)
ax2 = ax1.twinx()
ax2.plot(r.index, r['총합계'], color='blue', label = '어린이보호구역 누적')
ax1.legend()
ax2.legend()

plt.show()

  1. 분석결과
    어린이 보호구역이 누적될수록 어린이 교통사고 건수가 줄어드는 것을 보실 수 있습니다.

출처

연도별 어린이 보호구역
(http://data.seoul.go.kr/dataList/OA-2799/F/1/datasetView.do)

profile
smilegate

0개의 댓글

관련 채용 정보