В каком штате рынков больше всего?
Исследуя данные о фермерских рынках, вы задаётесь вопросом: какие закономерности можно обнаружить, если агрегировать данные на уровне штата? Есть ли штаты, где фермерские рынки особенно распространены? Чтобы это выяснить, вы группируете данные по штату и получаете логарифмически преобразованное количество рынков (log_markets) и численность населения штатов (log_pop).
markets_and_pop = (markets
.groupby('state', as_index = False)
.agg({
'name': lambda d: log(len(d)),
'state_pop': lambda d: log(d.iloc[0]) })
.rename(columns = {
'name': 'log_markets',
'state_pop': 'log_pop' }))
Для визуализации вы решаете использовать регрессионный график, чтобы оценить «типичную» зависимость между количеством рынков и численностью населения, а также текстовую диаграмму рассеяния для быстрого выявления интересных выбросов.
Это упражнение является частью курса
Улучшение визуализации данных в Python
Инструкции к упражнению
- Выполните итерацию по строкам DataFrame
markets_and_pop. - Разместите аннотации рядом с соответствующими точками на диаграмме рассеяния.
- Уменьшите размер текста аннотаций до
10пунктов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
g = sns.regplot(
"log_markets", "log_pop",
ci = False,
# Shrink scatter plot points
scatter_kws = {'s':2},
data = markets_and_pop)
# Iterate over the rows of the data
for _, row in markets_and_pop.____():
state, _, _, log_markets, log_pop = row
# Place annotation and reduce size for clarity
g.annotate(state, (____,____), ____ = ____)
plt.show()