데이터 분석 공부

1-2. pandas를 이용한 텍스트 파일과 엑셀 파일 읽기

cyabc2 2020. 3. 17. 00:15

1. pandas 0.20.1 설치하기

- cmd : pip3 install pandas==0.20.1

 

2. jupyter notebook에서 [DataScience] - [source_code] 에 python3 파일 만들기

3. pandas 모듈 불러오기

import pandas as pd

4. CSV 파일 불러오기

- pandas에서 CSV 파일을 읽는 명령은 read_csv

- CSV 파일에 한글이 있는 경우, 인코딩에 신경써야 함
  > 우리가 설치한 파일은 UTF-8 형식으로 인코딩되어 있으므로, UTF-8로 형식 지정

# CCTV_Seoul 이라는 변수에 pandas를 이용하여 data폴더의 01. CCTV_in_Seoul.csv 파일을 utf-8로 인코딩하여 불러옴
CCTV_Seoul = pd.read_csv('../data/01. CCTV_in_Seoul.csv',  encoding='utf-8')

#CCTV_Seoul 변수에 저장된 내용을 첫 5행만 보여줌
CCTV_Seoul.head()

- pandas의 첫 줄은 column(열), 데이터 뒤에 columns를 입력하면 column의 이름들 반환

CCTV_Seoul.columns

- columns 중 0번째기관명구별로 변경

CCTV_Seoul.columns[0]

5. xls 파일 불러오기

- pandas에서 excel 파일을 읽는 명령은 read_excel

- excel 파일에 한글이 있는 경우, 인코딩에 신경써야 함
  > 우리가 설치한 파일은 UTF-8 형식으로 인코딩되어 있으므로, UTF-8로 형식 지정

pop_Seoul = pd.read_excel('../data/01. population_in_Seoul.xls',  encoding='utf-8')
pop_Seoul.head()

# 만약, 다음과 같은 오류 메시지가 출력될 경우 새로운 cmd창에 다음과 같은 명령어 입력

   > pip3 install xlrd 

오류메시지

- 우리가 받은 엑셀 파일은 데이터 첫 3행이 모두 label이기때문에, 3번째 줄부터 읽어올 수 있도록 한다.
   > header = 2 (배열은 1부터가 아닌 0부터 시작)

- 우리가 사용할 데이터(열)만 읽어온다. (B, D, G, J, N 열)
   > parse_cols = 'B. D. G. J. N'

pop_Seoul = pd.read_excel('../data/01. population_in_Seoul.xls', 
                          header = 2,
                          parse_cols = 'B, D, G, J, N',
                          encoding='utf-8')
pop_Seoul.head()

 

- 데이터의 columns들이 이상하게 되어있으니, 알기 쉽게 바꾼다. 명령어는 rename
   > 자치구 -> 구별
   > 계 -> 인구수
   > 계.1 -> 한국인

   > 계.2 -> 외국인
   > 65세이상고령자 -> 고령자

 

- 변경 내용을 변수에 갱신한다. 
   > inplace=True 옵션 사용

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()