서울 열린데이터광장에서 서울시 노인 교통사고 현황 통계 공공데이터를 받아왔다.
파일을 세개로 나눠서 받아왔기 때문에 하나씩 열어서 merge로 합쳐주었다.
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
font_path = "C:\windows\Fonts\Malgun.ttf"
font = font_manager.FontProperties(fname = font_path).get_name()
rc('font', family=font)
accidentdata1 = pd.read_csv('../data/노인 교통사고 추이/2007~2011노인 보행 교통사고(서울).csv')
accidentdata2 = pd.read_csv('../data/노인 교통사고 추이/2012~2016노인 보행 교통사고(서울).csv')
accidentdata3 = pd.read_csv('../data/노인 교통사고 추이/2017~2020노인 보행 교통사고(서울).csv')
accidentdata = pd.merge(accidentdata1, accidentdata2, on = '시군구')
accidentdata = pd.merge(accidentdata, accidentdata3, on = '시군구')
accidentdata.to_csv('./data/accident.csv', encoding = 'euc-kr', index = False)
data = accidentdata.loc[0]
adata = pd.DataFrame(data)
adata.columns = ['합계']
adata.reset_index(inplace=True)
adata.drop(0, inplace=True)
adata.rename(columns={'index':'년도'}, inplace =True)
adata = adata.apply(pd.to_numeric)
adata.info()
adata.to_csv('../data/전체 사고대비 노인사고/노인보행교통사고.csv', encoding = 'euc-kr')
ax = adata.plot(x='년도', y='합계',figsize=(14,7), rot=0, color='r')
plt.title('노인 교통사고 추이', size = 15)
plt.xlabel('년도', fontsize = 15)
plt.ylabel('합계', fontsize = 15)
for temp in ax.patches:
ax.annotate('%d'%temp.get_height(),(temp.get_x()+temp.get_width()/2 , temp.get_height()) , ha = 'center' , va='bottom')
plt.show()
서울시 노인 교통사고 현황 통계(https://data.seoul.go.kr/dataList/10777/S/2/datasetView.do)