강의 개요

  • 강의명: 파이썬으로 시작하는 데이터 사이언스
  • 강사: 박조은
  • 제작: 네이버 부스트코스

이번 강의는 도로교통공단_월별 교통사고 통계소상공인시장진흥공단_상가(상권)정보데이터를 활용하여 분석한다.

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리그 판타지 풋볼’ 프로그램을 개발하면서 경험한 것들이다. 앞으로 다양한 스킬을 배운다면 해당 코드를 더 효율적으로 수정할 수 있을 것 같다.

관련 코드 보러가기

댓글남기기