멋쟁이사자처럼 X K-DIGITAL Training - 06.17
[github] likelion-kdigital/semi-project-1 https://github.com/ijo0r98/likelion-kdigital/tree/main/semi-project-1
ijo0r98/likelion-kdigital
멋쟁이사자처럼 & K-Digital Training✏. Contribute to ijo0r98/likelion-kdigital development by creating an account on GitHub.
github.com
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import folium
import json
import requests
from bs4 import BeautifulSoup
from matplotlib import font_manager, rc
# font
%matplotlib inline
font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name() # 여백 X 한글 X
rc('font', family=font_name) # run configure
numpy 벡터, 행렬 등 수치 연산을 수행하는 선형대수 라이브러리
pandas 데이터 처리 및 분석 라이브러리로 행과 열로 이루어진 데이터 객체(DataFrame)를 만들어 다룰 수 있음
matplotib 데이터를 차트로 시각화
seaborn matplotlib에 기반하여 제작된 파이썬 데이터 시각화 모듈
folium 지도 라이브러리
json json데이터 처리 라이브러리
requests http 요청 관련 라이브러리(웹 크롤링, 스크랩핑)
BeautifulSoup HTML 문서 탐색에 유용한 라이브러리
1. 서울시 자전거 교통사고 통계 데이터 분석
https://data.seoul.go.kr/dataList/10783/S/2/datasetView.do
서울시 자전거 교통사고 통계
○ 통계개요
* 통계명 : 자전거 교통사고 현황
* 통계종류 : 서울시 자전거 교통사고현황을 제공하는 일반·보고통계
* 근거법령 :「도로교통법」제2조에 규정하는 도로에서 차의
data.seoul.go.kr
데이터 전처리
df_bic_acc = pd.read_excel('data/자전거교통사고현황.xlsx', encoding='utf-8', index_col='지역')
df_bic_acc.replace('-', 0, inplace=True) # '-' 0으로 치환
df_bic_acc.drop('합계', inplace=True) # 시각화를 위헤 합계 행 제거
df_bic_acc['합계']=df_bic_acc['피해자사고 발생건수'] + df_bic_acc['가해자사고 발생건수'] # 합계 열 추가
피해자사고 발생건수와 가해자사고 발생건수 차트 시각화
df_bic_acc_plt = df_bic_acc[['피해자사고 발생건수', '가해자사고 발생건수']]
df_bic_acc_plt.plot(kind='bar', figsize=(20, 15), fontsize=15, colormap='bwr').legend(fontsize = 20)
피해자 사고 발생건수가 가장 많은 곳 : 송파구
가해자 사고 발생건수가 가장 많은 곳 : 영등포구
2. [인구 수 대비] 사고 발생건수
데이터 전처리
popul_df = pd.read_csv('data/pop_kor.csv', encoding='UTF-8', index_col='구별')
발생건수 열만 추출한 데이터프레임
두 데이터프레임 JOIN
df_bic_acc_plt_ratio = df_bic_acc_plt.join(popul_df)
사고 건수 정규화
# 최대값으로 나눔
weight_col = df_bic_acc_plt_ratio.max()
df_bic_acc_norm = df_bic_acc_plt_ratio / weight_col
# 인구 수 대비 비율 계산
df_bic_acc_norm = df_bic_acc_norm.div(df_bic_acc_norm['인구수'] , axis=0 ) * 100000
사고 합계 열 추가
df_bic_acc_norm['합계'] = df_bic_acc_norm['피해자사고 발생건수'] + df_bic_acc_norm['가해자사고 발생건수']
합계 기준 오름차순 정렬
df_bic_acc_norm.sort_values(by='합계', ascending=False).head()
인구 수 대비 자전거 사고 발생건수(합계) 시각화
df_bic_acc_norm['합계'].plot(kind='bar', figsize=(20, 15), fontsize=20, color='limegreen').legend(fontsize = 20)
인구 수 대비 자전서 사고 발생건수가 가장 많은 곳은 영등포구와 송파구
[K-DIGITAL] 파이썬을 활용한 기초 통계분석(2) 상관관계 (0) | 2021.06.22 |
---|---|
[K-DIGITAL] 파이썬을 활용한 기초 통계분석(1) 빈도 분석과 이상치 (0) | 2021.06.21 |
[K-DIGITAL] 세미프로젝트1. 서울시 자전거사고 분석(2) 원인예측 (0) | 2021.06.19 |
[K-DIGITAL] 파이썬 통계자료 분석 및 시각화(2) 데이터 시각화 (0) | 2021.06.16 |
[K-DIGITAL] 파이썬 통계자료 분석 및 시각화(1) 데이터 전처리 (0) | 2021.06.15 |
댓글 영역