import pandas as pd
= pd.read_csv("./^KS11.csv", index_col ='Date')
kospi kospi.head()
Pandas 데이터프레임 머지
Pandas 데이터프레임 머지하기
테이터프레임 머지하기
병합은 서로다른 데이터프레임 객체에 동일하게 존재하는 값을 통해 양쪽 데이터를 연관 지어 하나의 데이터프레임으로 모델링할 수 있는 유용한 방법입니다. 연습을 위해서 데이터를 준비합니다.
Yahoo Finance
에서는 미국뿐 아니라 한국 주식에 대한 정보를 제공합니다. KOSPI
주식 정보를 csv형태로 저장해서 데이터프레임 머지 연습에 사용할께요. Yahoo Finance로 이동해서 historica l data
탭을 선택합니다.
Historical Data
를 선택하면 위와 같이 KOSPI
에 대한 시계열 데이터를 얻을 수 있습니다. download
를 눌러 다운로드하여 저장합니다. 혹은 [KS11.csv]에서 다운로드 하세요.
데이터 로드하기
csv파일을 불러와서 데이터프레임 형태를 확인합니다. 시계열데이터의 경우 날짜정보를 데이터프레임의 index
로 사용하면 편리합니다. data
컬럼을 index로 설정합니다.
날짜정보가 index로 설정된 데이터프레임을 생성했습니다. 이제 연결을 위한 새로운 데이터프레임을 생성합니다. 데이트 프레임을 연결할 정보를 Ticker
라는 컬럼으로 설정하고 기존 데이터프레임의 Volume
컬럼을 추가합니다.
= pd.DataFrame ({'Ticker': 'kospi', 'Volume' : kospi['Volume']})
kospi_volume kospi_volume.head()
2개의 데이터프레임이 함께 갖는 컬럼인 ’Ticker’를 통해서 병합을 진행하고 이를 통해서 Volume
정보를 추가하려고 합니다. 올바르게 동작하는 지 확인하기 위해서 기존 데이터프레임의 Volume
컬럼을 삭제합니다.
'Ticker'] = 'kospi'
kospi['Volume')
kospi.pop( kospi.head()
Volume
컬럼이 삭제되었으니 병합을 진행합니다. pd.merge()
함수를 사용하고 공통 컬럼인 Ticker
컬럼을 전달합니다.
= pd.merge(kospi, kospi_volume, on='Ticker')
merged_df merged_df.head()
이제 새로운 merged_df
데이터프레임은 2개의 데이터프레임을 연결하여 Volume
정보를 추가 하였습니다.