모든 거래소의 연도별 Technology IPO
listings 딕셔너리의 각 기업에는 1972년부터 2017년 사이의 IPO 연도가 있습니다. 따라서 이 맥락에서는 'IPO Year' 열이 dtype이 float64이더라도, 잘 정의된 순서를 가진 범주형 변수로 간주하는 것이 적절합니다.
이 연습에서는 세 거래소의 데이터를 합쳐 Technology 섹터 기업들의 IPO 연도 분포를 그려 보겠습니다. pandas는 pd로, matplotlib.pyplot은 plt로 이미 임포트되어 있으며, 이전 연습 문제의 listings 딕셔너리도 작업 공간에 있습니다.
이 연습은 강의의 일부입니다
Python으로 금융 데이터 가져오기와 관리
연습 안내
- 각 거래소 이름을 담은 반복 변수
exchange를 사용해 for 루프를 만드세요.- 매 반복에서
listings에서 키exchange에 해당하는 DataFrame을all_listings에 추가하세요.
- 매 반복에서
- 루프가 끝나면
pd.concat()으로all_listings의 세 DataFrame을 결합해 결과를listing_data에 할당하세요. listing_data에서'Technology'기업만 필터링해 결과를tech_companies에 할당하세요.tech_companies의'IPO Year'열을ipo years에 할당하세요.- 이 데이터에 대해
.dropna()로 결측값을 제거하고.astype()으로int로 변환하세요. ipo_years에.value_counts()를 적용하고 연도를 오름차순으로 정렬한 뒤, 제목이'Tech IPOs by Year'인 막대 그래프를 만드세요.xticks를 45도로 회전시키고 결과를 표시하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create lists
exchanges = ['amex', 'nasdaq', 'nyse']
all_listings = []
# Use for loop to create listing_data
for exchange in exchanges:
all_listings.____(____[____])
# Combine DataFrames
listing_data = pd.____(____)
# Select tech companies
tech_companies = listing_data[____.____ == 'Technology']
# Create ipo_years
ipo_years = ____[____]
# Drop missing values and convert to int
ipo_years = ipo_years.____().____(int)
# Count values, sort ascending by year, and create a bar plot
ipo_years.____().plot(kind=____, ____='Tech IPOs by Year')
# Rotate xticks and show result
plt.xticks(____=____)
# Show the plot
plt.show()