IPO технологічних компаній за роками на всіх біржах
Кожна компанія в словнику listings має рік IPO між 1972 і 2017. Тому тут доречно розглядати стовпець 'IPO Year' на кожному аркуші як категоріальну змінну з чітким порядком, навіть якщо його dtype — float64.
Тут ви об'єднаєте дані з усіх трьох бірж і побудуєте розподіл років IPO для компаній сектору Technology. pandas імпортовано як pd, matplotlib.pyplot — як plt, а словник listings з попередньої вправи доступний у вашому робочому середовищі.
Ця вправа є частиною курсу
Імпорт і керування фінансовими даними в Python
Інструкції до вправи
- Використайте цикл for зі змінною-ітератором
exchange, що містить назву кожної біржі.- На кожній ітерації додавайте до
all_listingsдатафрейм, що відповідає ключуexchangeуlistings.
- На кожній ітерації додавайте до
- Після завершення циклу скористайтеся
pd.concat(), щоб об'єднати три датафрейми вall_listings, і присвойте результат зміннійlisting_data. - Відфільтруйте
listing_dataдля компаній сектору'Technology'і присвойте результатtech_companies. - Присвойте стовпець
'IPO Year'зtech_companiesзміннійipo years. - Для цих даних застосуйте
.dropna()для видалення пропущених значень і.astype()для перетворення доint. - Застосуйте
.value_counts()доipo_years, відсортуйте роки за зростанням і побудуйте стовпчикову діаграму з назвою'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()