강의 개요
- 강의명: 파이썬으로 시작하는 데이터 사이언스
- 강사: 박조은
- 제작: 네이버 부스트코스
이번 강의는 도로교통공단_월별 교통사고 통계와 소상공인시장진흥공단_상가(상권)정보데이터를 활용하여 분석한다.
Pandas로 하나의 데이터 가져오기
보통 분석할 데이터는 코드 파일과 같은 폴더에 넣는 경우가 많으므로, 상대 주소를 사용해 경로를 지정해주면 된다.
import pandas as pd
# glob는 유닉스 기반의 경로명 확장
from glob import glob
# 하나의 파일 가져오기
file_name = glob("data/*.csv")
print(file_name[0])
print(pd.read_csv(file_name[0], encoding="cp949"))
여기서 처음 본 것이 glob
패키지인데, 폴더 내에 있는 파일명을 가져올 때 유용하게 사용할 수 있다. 보통 그냥 주소와 파일명을 쓰게 되면 오타가 날 가능성이 높으므로, glob
를 사용해 실수를 줄일 수 있다. "*.csv"
은 파일 제목의 양식을 지정해준 것으로, 이 양식에 해당되는 파일을 가져온다.
또, encoding="cp949"
을 사용해서 한글 인코딩도 진행할 수 있다.
Pandas로 여러 개의 데이터 가져오기
분석에 사용할 데이터가 여러 개일수도 있다. 이럴 경우 여러 개를 한 번에 가져온다. 마찬가지로 glob
패키지와 제목 형식을 지정하여 가져올 수 있다.
# 여러 파일 한 번에 로드하기
file_csv = glob("data/store/*_*_*.csv") # 파일명의 규칙에 따라서 가져올 수 있다.
file_list = []
for file_csv_name in file_csv:
print(file_csv_name)
temp = pd.read_csv(file_csv_name, low_memory=False)
file_list.append(temp)
가져온 파일 제목을 file_csv
에 넣고 for
문을 사용하여 데이터를 file_list
에 담았다.
이를 합친다면 다양한 데이터를 오가지 않고 손쉽게 관리할 수 있을 것이다.
# 하나의 데이터 프레임으로 합치기
df = pd.concat(file_list)
# 데이터셋 모양 확인
print(df.shape)
실행에 시간이 꽤 걸린다. 상당히 방대한 데이터가 완성되었다.
사실 오늘 배운 내용은 대부분 ‘K리그 판타지 풋볼’ 프로그램을 개발하면서 경험한 것들이다. 앞으로 다양한 스킬을 배운다면 해당 코드를 더 효율적으로 수정할 수 있을 것 같다.
관련 코드 보러가기
댓글남기기