✍🏻 28일 공부 이야기
-주피터 설치
-필요한 모듈 설치
-matplotlib 한글 설치
-vscode 설치
-서울시 CCTV 현황 데이터 분석
import matplotlib.pyplot as plt
%matplotlib inline
plt.title("데이터사이언스")
💻 출력
위와 같이 한글이 깨져서 출력되는 것을 볼 수 있을 것이다.
이런 경우 아래를 실행시킨 후 위 코드를 실행시키면 한글이 잘 출력되는 것을 볼 수 있다!
matplotlib 한글 설정과 관련해서 구글링했을 때 깔끔하게 🖱️정리된 사이트도 같이 첨부한당
#window.ver
from matplotlib import font_manager
f_path = "C:\Windows\Fonts\malgun.ttf" #원하는 폰트 교체 가능!
font_manager.FontProperties(fname = f_path).get_name()
from matplotlib import rc
rc("font", family = "Malgun Gothic")
💻 출력
Python, Pandas, Matplotlib 을 공부하기에 좋은 데이터이기 때문에 첫 번째 프로젝트로 설정하였다.
이 분석을 아래와 같은 순서로 진행하면서 다음과 같은 모듈들을 사용하고 데이터를 분석해보는 능력을 기를 수 있게 된다고 한다!!
Step1. 서울시 구별 CCTV 현황 데이터 확보
Step2. 서울시 인구 현황 데이터 확보
Step3. CCTV와 인구 현황 데이터 합치기
Step4. 데이터 정리 및 정렬
--- ↳ Python, Pandas 이용 ---
Step5. 그래프 그리기
--- ↳ Matplotlib 이용 ---
Step6. 전체적인 경향 파악
--- ↳ Regression using Numpy 이용 ---
Step7. 이상치 데이터를 강조해보기
--- ↳ Insight & Visualization 이용 ---
[서울 열린 데이터 광장]
-CCTV 데이터 : "서울시 자치구 년도별 CCTV 설치 현황"
-인구 현황 데이터 : "서울시 주민등록인구 (구별) 통계"
강의에서는 데이터가 업데이트 됨에 따라 내용이 달라질 수 있어, 배포된 데이터를 사용하라고 했지만 변화된 내용을 관찰해보는 것도 재미있을 것 같아 사이트에 들어가 최신 데이터를 다운받아서 분석해보려고 한다.
아래 내용은 최신 데이터를 다운받아 공부했지만, 해당 내용의 프로젝트가 계속 이어짐에 따라 데이터의 연도가 중요할 것 같아서 강의에서 제공한 데이터로 다시 공부했습니다!
import pandas as pd
데이터프레임명 = pd.read_csv("파일경로/파일이름.csv")
데이터프레임명 = pd.read_excel("파일경로/파일이름.xlsx")
원본파일을 보고 파일을 읽은 후, 원하는 데이터만 추출할 수 있어야 함
데이터프레임명.columns #리스트 형태로 모든 컬럼명을 볼 수 있음
데이터프레임명.columns[컬럼인덱스] #컬럼명을 선택해서 읽을 수 있음
데이터프레임명.rename(columns = {변경할 컬럼명 : "변경 내용"), inplace = True)
#inplace = True 옵션을 해줘야 원본 데이터프레임에 변경이 적용됨.
데이터프레임명["컬럼명"] = ["입력할 값1", "입력할 값2", ...]
del
, drop
del 데이터프레임명["삭제할 컬럼명"] #원본 데이터까지 삭제해버림
데이터프레임명.drop(["삭제할 컬럼명"] , axis = 옵션값) #원본 데이터는 삭제되지 않음.
#axis = 0 : 가로 삭제, axis = 1 : 세로 삭제
데이터프레임명.sort_values(by = "정렬할 컬럼명")
#ascending = False : 내림차순 정렬 옵션
#inplace = True : 원본 데이터에 저장 옵션
[n:m]
loc
: 이름으로 특정 행 또는 열을 선택iloc
: 인덱스 값으로 특정 행 또는 열을 선택#연속된 행이나 열들은 : 을 이용해 나타낼 수 있음
#만약 연속되지 않은 행이나 열들을 추출하고 싶다면
#[["행1", "행4" ], ["열1, "열3"]] 와 같은 리스트 형태로 나타내주면 됨
데이터프레임명[추출할 행 인덱스 또는 이름, 추출할 열 인덱스 또는 이름]
데이터프레임명.loc[추출할 행 이름, 추출할 열 이름]
데이터프레임명.iloc[추출할 행 인덱스, 추출할 열 인덱스]
apply()
데이터프레임명["행 또는 컬럼명"].apply(값에 적용될 함수)
#파이썬에 내장된 함수는 "sum", "max"와 같이 따옴표로 적어주면 되고
#사용자 함수를 만들어 값 변경 가능(따옴표없이 사용자함수명 적기).
#lambda를 이용한 값 변경이 자주 이용됨.
📌 위에 정리해둔 내용을 바탕으로 데이터를 읽어본 코드들은 아래 깃허브 링크에 업로드 해두었습니다 🙆🏻♀️🙆🏻♀️
https://github.com/nabi4442/ZeroBaseDataSchool/blob/main/01.%20Analysis%20Seoul%20CCTV.ipynb