from glob import glob
glob('/content/drive/MyDrive/Colab Notebooks/seoul_crime/*')
파일들의 리스트를 뽑을 때 사용 파일의 경로명을 이용해서 필요한걸
뽑아올 수 있음
Google Colab으로 드라이브 마운트해서 진행했다
target_path = '/content/drive/MyDrive/Colab Notebooks/seoul_crime'
file_list = glob(target_path+'/20*.csv')
file_list
import pandas as pd
import numpy as np
crime_raw_data = pd.read_csv(file_list[0],
usecols=[0,1,2,3], encoding = 'euc-kr')
crime_station = crime_raw_data.pivot_table(
crime_raw_data, index = ["구분"], columns = ["죄종", "발생검거"], aggfunc=[np.sum])
crime_station.columns = ['강간검거', '강간', '강도검거', '강도', '살인검거', '살인', '절도검거', '절도', '폭력검거', '폭력']
crime_station['year'] = 2000
crime_station.head()
파일명에서 연도를 가져오고
for each_file in file_list:
print(each_file.split('/'))
split으로 분해하고
crime_station_t = []
for each_file in file_list:
crime_raw_data = pd.read_csv(each_file, usecols=[0,1,2,3], encoding='euc-kr')
crime_station = crime_raw_data.pivot_table(
crime_raw_data, index=["구분"], columns=["죄종", "발생검거"], aggfunc=[np.sum])
crime_station.columns = ['강간검거', '강간', '강도검거', '강도',
'살인검거', '살인', '절도검거', '절도', '폭력검거', '폭력']
crime_station['year'] = each_file.split('/')[-1][:4]
crime_station.reset_index(inplace=True)
crime_station_t.append(crime_station)
데이터를 구분해서 피봇테이블로 만든다
crime_total = pd.concat(crime_station_t)
crime_total.head()
concat로 합친다.
import matplotlib as mpl
import matplotlib.pyplot as plt
%config InlineBackend.figure_format = 'retina'
!apt -qq -y install fonts-nanum
import matplotlib.font_manager as fm
fontpath = '/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf'
font = fm.FontProperties(fname=fontpath, size=9)
mpl.font_manager._rebuild()
plt.rc('font', family = 'NanumBarunGothic')
한글이 나오게끔만들고
import seaborn as sns
plt.figure(figsize = (13,10))
sns.heatmap(crime_total_murder,
annot = True, linewidths=.5, cmap='RdPu')
plt.title('2000년부터 2018년 서울시 구별 살인사건의수')
plt.autoscale()
plt.tight_layout(pad=5)
plt.show()
히트맵으로 보여지기까지 완료