관리 메뉴

log.Sehee

[데이터 취업 스쿨 스터디 노트] EDA / 환경설정 / 서울시 CCTV 현황 데이터 분석 1 본문

Zerobase DS School

[데이터 취업 스쿨 스터디 노트] EDA / 환경설정 / 서울시 CCTV 현황 데이터 분석 1

Sehe_e 2024. 7. 26. 21:48

 


 

환경설정

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

 

 

Comments