Вычисление нескольких метрик по секторам и году IPO
Функция pointplot() из библиотеки seaborn позволяет сравнивать сводную статистику числовой переменной для различных уровней категориальных переменных:
seaborn.pointplot(x=None, y=None, hue=None, data=None, ...)
В видео вы видели визуализацию рыночной капитализации (числовая переменная) в разрезе того, было ли IPO (категориальная переменная) проведено до 2000 года (первый уровень) или после (второй уровень).
В этом упражнении вы сравните среднюю рыночную капитализацию за каждый год начиная с 2000-го для NYSE и NASDAQ, предварительно исключив выбросы выше 95-го перцентиля. Библиотеки pandas (как pd) и matplotlib.pyplot (как plt) уже импортированы, а DataFrame listings со столбцом 'Exchange' доступен в вашем рабочем пространстве.
Это упражнение является частью курса
Импорт и управление финансовыми данными в Python
Инструкции к упражнению
- Импортируйте
seabornкакsns. - Отфильтруйте
listings, оставив компании с IPO после 2000 года по всем биржам кроме'amex'. - Преобразуйте данные в столбце
'IPO Year'к целочисленному типу. - Создайте столбец
market_cap_m, чтобы выразить рыночную капитализацию в миллионах долларов США. - Отфильтруйте
market_cap_m, исключив значения выше 95-го перцентиля. - Постройте
pointplotдляlistings, используя столбец'IPO Year'в качествеx,'market_cap_m'— в качествеy, а'Exchange'— в качествеhue. Отобразите результат, повернув подписи по осиxticksна 45 градусов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import the seaborn library as sns
____
# Exclude IPOs before 2000 and from the 'amex'
listings = ____[(____['IPO Year'] > ____) & (listings.Exchange != ____)]
# Convert IPO Year to integer
listings['IPO Year'] = ____['IPO Year'].____(____)
# Create market_cap_m
listings['market_cap_m'] = ____['Market Capitalization'].div(1e6)
# Exclude outliers
listings = listings[listings.____ < listings.____.____(.95)]
# Create the pointplot
sns.pointplot(x=____, y=____, hue=____, data=____)
# Rotate xticks
plt.____(____=____)
# Show the plot
plt.show()