서로 다른 날짜의 시계열 병합하기
미국의 주식시장과 채권시장은 서로 다른 날에 휴장해요. 예를 들어, 채권시장은 콜럼버스데이(대략 10월 12일 전후)와 재향군인의 날(대략 11월 11일 전후)에 휴장하지만, 주식시장은 그날에도 개장해요. 주식시장은 열고 채권시장은 닫은 날짜를 확인하는 한 가지 방법은 두 날짜 인덱스를 집합(set)으로 바꾼 다음, 집합의 차집합을 구하는 거예요.
pandas의 .join() 메서드는 두 시장이 모두 열린 날짜를 기준으로 주식과 채권 DataFrame을 병합할 때 유용해요.
FRED에서 다운로드한 주가와 미국 10년물 국채 수익률 데이터가 DataFrame stocks와 bonds에 미리 로드되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 시계열 분석
연습 안내
stocks.index와bonds.index의 날짜를 각각 집합(set)으로 변환하세요.- 주식 집합에서 채권 집합을 뺀 차집합을 구해, 주식시장은 데이터가 있고 채권시장은 없는 날짜를 찾으세요.
.join()메서드(df1.join(df2)구문)를 사용해 두 DataFrame을 새 DataFramestocks_and_bonds로 병합하세요.- 날짜의 교집합만 얻으려면
how='inner'인자를 사용하세요.
- 날짜의 교집합만 얻으려면
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import pandas
import pandas as pd
# Convert the stock index and bond index into sets
set_stock_dates = set(stocks.index)
set_bond_dates = set(___)
# Take the difference between the sets and print
print(set_stock_dates - ___)
# Merge stocks and bonds DataFrames using join()
stocks_and_bonds = ___