log.Sehee
[데이터 취업 스쿨 스터디 노트] EDA / 환경설정 / 서울시 CCTV 현황 데이터 분석 1 본문
환경설정
1. 홈페이지에서 conda와 home brew 설치
2. 터미널에서 conda 버전확인
conda --version
3. conda 버전 업데이트
conda update conda
4. 앞으로 사용할 가상환경 생성
conda create -n 가상환경이름 python=파이썬 버전 지정
5. 해당 가상환경 활성화
conda activate 가상환경이름
+ 가상환경 비활성화
conda deactivate
6. 가상환경 현황 확인
conda env list
+ 가상환경 삭제
conda env remove -n 가상환경이름
7. 주피터 설치
conda install jupyter
8. 필요한 추가 패키지 설치
conda install ipython
conda install matplotlib
conda install seaborn
conda install pandas
conda install scikit-learn
conda install xlrd
9. 터미널로 주피터 실행 시 로컬환경에서 작업 가능
jupyter notebook
matplotlib 한글 설정
import matplotlib.pyplot as plt
%matplotlib inline
from matplotlib import rc
rc("font", family="Arial Unicode MS")
Pandas DataFrame 구조
한글은 encoding 설정이 필수이다.
CCTV_Seoul = pd.read_csv('../data/01.Seoul_CCTV.csv', encoding='utf-8')
열 : Column
행: Values
행 순서: Index
서울시 CCTV 현황 데이터 분석 - 데이터 읽기
서울 열린 데이터광장에서 '서울시 CCTV 설치운영 현황(자치구) 연도별.csv', '서울시 주민등록인구 (구별) 통계.xlsx' 다운로드
pandas 임포트
import pandas as pd
서울시 CCTV 설치운영 현황(자치구) 연도별.csv 불러오기
CCTV_Seoul = pd.read_csv('../data/01.Seoul_CCTV.csv', encoding='utf-8')
head(): 인자 값이 없을 시 위에서 5개의 values를 보여준다. 인자값에 따라 보여주는 value의 갯수가 달라진다.
CCTV_Seoul.head()
tail(): 인자 값이 없을 시 아래에서 5개의 valuse를 보여준다. 인자 값에 따라 보여주는 value의 갯수가 달라진다.
columns : 해당 파일의 column name을 리스트 형식으로 보여준다.
CCTV_Seoul.columns
columns[index] : column 리스트에 해당하는 인덱스 위치의 column name을 보여준다.
CCTV_Seoul.columns[0]
rename(columns, inplace): column을 변경한다. columns의 값으로 변경할 column의 내용을, inplace는 저장 여부를 지정한다.
inplace는 기본 False 상태이며, False시 해당 코드 실행시에만 column name이 변경되어보이며 이후 코드 실행에서는 원래대로 돌아온다.
CCTV_Seoul.rename(columns={CCTV_Seoul.columns[0]: '구별'}, inplace=True)
CCTV_Seoul.head()
header, usecols : read의 값으로 header는 자료의 시작점을 지정하며, usecols는 읽어올 column을 지정한다.
pop_Seoul = pd.read_excel(
'../data/01.Seoul_Population.xlsx', header=2, usecols='B, D, G, J, N'
)
pop_Seoul.head()
rename은 여러 column name을 한꺼번에 변경할 수 있다.
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,
)
pop_Seoul.head()
pandas는 R과 비슷한 면이 있는 것 같다.. 간만에 새로운 언어를 접했더니 어떻게 익힐지 또 막막해진다..
내일의 학습 목표
서울시 CCTV 현황 데이터 분석 2 - 5