반응형
공공데이터 아파트 실거래 데이터 수집(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 참고해주세요!
다음시간부터는 수집한 데이터를 바탕으로 분석을 해보겠습니다.
후훗 재미나겠네요!!
이상 끝.
'자기개발 > 데이터분석' 카테고리의 다른 글
[정보공유] 데이터 수집 가능한 공공데이터 개방 사이트 (0) | 2021.04.17 |
---|---|
[ERROR] folium RecursionError: maximum recursion depth exceeded in comparison (0) | 2021.04.14 |
[GIS] 브이월드 지오코딩 - 공간정보 오픈플랫폼 브이월드 활용법 (0) | 2021.04.08 |
[데이터분석] 국토부 아파트 실거래가 분석 - 2. 데이터 수집(1) (2) | 2021.04.01 |
[정보공유] 데이터 분석 경진대회 사이트 (0) | 2021.03.28 |