자기개발/데이터분석

[데이터분석] 국토부 아파트 실거래가 분석 - 2. 데이터 수집(2)

코대장 2021. 4. 11. 18:26
반응형

공공데이터 아파트 실거래 데이터 수집(2)

이전 글에서는 공공데이터 포털을 통해서 국토부 아파트 실거래가를 수집하는 방법에 대해서 알아봤는데요.

이번에는 이전글에서 작업 연장선상으롱 구글 드라이브에 다운받은 CSV 파일을 하나의 데이터프레임에 모으는 작업을 해보도록 하겠습니다.

함수 파라미터를 통해서 조회시작과 종료 기간 정보를 넘겨받고,

조회기간 내 해당하는 CSV 파일 읽어(read_csv) 하나의 데이터프레임(DataFrame)으로 합치도록 하겠습니다.

함수작성

Pandas 에서는 데이터를 합치는 방법으로는 concat merge가 있습니다.

concat과 merge에 대해서는 다음에 다루도록 하겠습니다.

다만 for 문으로 통해서 바로 데이터프레임을 concat 하는 방식이 아닌,

우선, LIST 에 보관시켰다가 for 문 종료 후에 데이터프레임(DataFrame)에 통으로 넣겠습니다.

이렇게 하면 시스템 로드(러닝타임)를 줄일 수 있습니다.

# start_y, end_y : YEAR 4자리
# start_m, end_m : MONTH 1~2자리
def get_file_list(start_y, start_m, end_y, end_m):
  if len(str(start_m)) == 1:
    start_m = '{0:02d}'.format(start_m)
  if len(str(end_m)) == 1:
    end_m = '{0:02d}'.format(end_m)

  start = int(str(start_y) + str(start_m))
  end = int(str(end_y) + str(end_m))

  print('조회시작:{}, 조회종료:{}'.format(start, end))

  temp_list = []
  sum = 0
  for file in os.walk('/content/drive/MyDrive/국토부_실거래/').__next__()[2]:
    fileName, fileExt = os.path.splitext(file) # 파일명과 파일확장자 구분
    if start <= int(fileName) <= end:
      df = pd.read_csv(os.path.join('/content/drive/MyDrive/국토부_실거래/', file), index_col=False)
      temp_list.append(df)
  
  df = pd.concat(temp_list, axis=0)
  print('조회완료!')
  return df

데이터확인

이제 데이터를 확인해보죠.

df = get_file_list(start_y=2020, start_m=1, end_y=2020, end_m=12)
df.head()

 

코드는 GIT 참고해주세요!

 

mskim8717/python-scripts

업무를 효율적으로 만들어줄 유용한 파이썬 스크립트 모음집. Contribute to mskim8717/python-scripts development by creating an account on GitHub.

github.com

다음시간부터는 수집한 데이터를 바탕으로 분석을 해보겠습니다.

후훗 재미나겠네요!!

이상 끝.