НачатьНачать бесплатно

Популярность товаров по штатам

Набор данных о фермерских рынках содержит столбцы, соответствующие 28 различным товарам, и указывает, продаются ли они на том или ином рынке. Вам интересно выяснить, есть ли в этих данных какие-либо закономерности, касающиеся вероятности найти тот или иной товар на рынках конкретного штата. Чтобы ответить на этот вопрос, вы сворачиваете данные до трёх столбцов:

  • state — название штата
  • good — интересующий товар
  • prop_selling — доля рынков в данном штате, продающих этот товар

Чтобы быстро выявить возможные закономерности, вы выбираете подмножество интересующих вас товаров и строите простой текстовый точечный график: товар — по оси X, доля рынков штата, торгующих им, — по оси Y.

Это упражнение является частью курса

Улучшение визуализации данных в Python

Посмотреть курс

Инструкции к упражнению

  • Отфильтруйте goods_by_state, оставив только нужные товары из списка to_plot.

  • Скройте точки на диаграмме рассеяния, установив их размер равным нулю.

    • Обратите внимание: в sns.scatterplot() параметр size используется для сопоставления значений из столбца со шкалой размеров, тогда как s задаёт единый постоянный размер для всех точек.
  • Задайте выравнивание текста по центру, чтобы он располагался точно на позиции соответствующего товара по оси X.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Subset goods to interesting ones
to_plot = ['Cheese','Maple','Fruits','Grains','Seafood','Plants','Vegetables']
goods_by_state_small = goods_by_state.____("good in "+str(to_plot))

g = sns.scatterplot('good','prop_selling', data = goods_by_state_small,
                    # Hide scatter points by shrinking to nothing
                    ____ = ____)

for _,row in goods_by_state_small.iterrows():
  g.annotate(row['state'], (row['good'], row['prop_selling']), 
             # Center annotation on axis
             ha = '____', 
             size = 10)

plt.show()
Редактировать и запускать код