1) 서울시 구별 CCTV 현황 데이터 확보 - Python, Pandas
2) 인구 현황 데이터 확보 - Python, Pandas
3) CCTV 데이터와 인구 현황 합치기 - Python, Pandas
4) 데이터를 정리하고 정렬하기 - Python, Pandas
5) 그래프를 그릴 수 있는 능력 - Matplotlib
6) 전체적인 경향을 파악할 수 있는 능력 - Regression using Numpy
7) 그 경향에서 벗어난 데이터를 강조하는 능력. - Insight and Visualization
1번 데이터 컬럼 (CCTV_Seoul.csv)
2번 데이터 컬럼 (Seoul_popuation.xls)
🔴 1번 데이터 전처리
: 컬럼명 변경 (기관명 -> 구별)
🟠 2번 데이터 전처리
: 두번째 행부터 필요한 컬럼만 가져오기.
import pandas as pd
// 1번 데이터 가져오기
CCTV_Seoul = pd.read_csv("경로/CCTV_Seoul.csv")
// column check
CCTV_Seoul.columns
// 1. 컬럼명 변경 ( 기관명 -> 구별 )
CCTV_Seoul.rename(columns = {CCTV_Seoul.columns[0]: "구별"}, inplace=True)
// 10번째 행까지 데이터 확인
CCTV_Seoul.head(10)
-----------------------------------------------------------------------
// 2번 데이터 가져오기 ( 두번째 행부터, 필요한 B,D,G,J,N 열만 )
pop_Seoul = pd.read_excel("경로/Seoul_popuation.xls", header=2 , usecols="B,D,G,J,N")
/**
2번 데이터 컬럼명 변경
B = 자치구 -> 구별
D = 인구 -> 인구수
G = 인구3 -> 한국인
J = 인구6 - > 외국인
N = 65세이상고령자 -> 고령자
**/
pop_Seoul.rename(
columns={
pop_Seoul.columns[0]: "구별",
pop_Seoul.columns[1]: "인구수",
pop_Seoul.columns[2]: "한국인",
pop_Seoul.columns[3]: "외국인",
pop_Seoul.columns[4]: "고령자"
},
inplace=True
)
// 소계컬럼을 기준으로 내림차순하여 5개만 보기
CCTV_Seoul.sort_values(by="소계" , ascending=False).head(5)
// 컬럼추가
CCTV_Seoul["최근 증가율"] = (
(CCTV_Seoul["2016년"] + CCTV_Seoul["2015년"] + CCTV_Seoul["2014년"]) / CCTV_Seoul["2013년도 이전"] * 100
)
// 최근 증가율컬럼을 기준으로 내림차순하여 5개만 보기
CCTV_Seoul.sort_values(by="최근 증가율", ascending=False).head(5)