시가총액 상위 3개 금융회사 데이터 가져오기
pd.MultiIndex() 객체는 각 행에 식별자가 하나 이상 있습니다. 이를 통해 여러 회사에 대한 기준을 한 번에 적용해 데이터를 가져올 수 있어요.
이제 이 기술을 활용해 금융 섹터에서 가장 큰 회사들의 주가를 가져와 보겠습니다. DataReader, date, pandas는 pd로, matplotlib.pyplot은 plt로 임포트되어 있으며, 이전 연습 문제에서 사용한 listings DataFrame도 준비되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 금융 데이터 가져오기와 관리
연습 안내
listings의 인덱스를'Stock Symbol'로 설정하고listings_ss에 할당하세요..loc[]을 사용해 회사 섹터가'Finance'인 행만 필터링하고,'Market Capitalization'열을 추출하세요..nlargest()를 적용해 시가총액 기준 상위 3개 회사를top_3_companies에 할당하세요.- 결과의 인덱스를 리스트로 변환해
top_3_tickers에 할당하세요. date()를 사용해start를 2015년 1월 1일로 설정하세요.date()를 사용해end를 2020년 4월 1일로 설정하세요.DataReader()를 사용해start부터end까지'iex'에서top_3_tickers의 주가 데이터를 가져와result에 할당하세요..stack()메서드를 적용해 티커를 인덱스로 옮기고,DataFrame을 롱 포맷으로 변환하세요.data에서'close'를 선택하고.unstack()을 적용한 다음, 와이드 포맷으로 변환된 결과DataFrame을.info()로 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Set Stock Symbol as the index
listings_ss = listings.____
# Get ticker of 3 largest finance companies
top_3_companies = listings_ss.loc[____].____(n=____)
# Convert index to list
top_3_tickers = top_3_companies.____.____()
# Set start date
start = ____
# Set end date
end = ____
# Import stock data
result = ____
# Apply stack method
data = ____
# Unstack and inspect result
data['close'].____().____()