Comece agoraComece grátis

Popularidade dos produtos vendidos por estado

O conjunto de dados de feiras de produtores contém colunas correspondentes a 28 produtos diferentes e se eles são vendidos ou não naquela feira. Você quer descobrir se há histórias interessantes nesse conjunto de dados sobre quão provável é encontrar um determinado produto nas feiras de um estado. Para responder a essa pergunta, você reduz os dados para três colunas:

  • state - o nome do estado
  • good - o produto de interesse
  • prop_selling - a proporção de feiras naquele estado que vendem aquele produto

Para observar rapidamente se surgem padrões, você escolhe um subconjunto de produtos que acha interessantes e decide fazer um simples gráfico de dispersão com texto: o produto no eixo x e a proporção das feiras de um estado que vendem esse produto no eixo y.

Este exercicio faz parte do curso

Aprimorando suas visualizações de dados em Python

Ver curso

Instruções do exercicio

  • Filtre goods_by_state para os produtos desejados listados em to_plot.

  • Oculte os pontos do gráfico de dispersão definindo o tamanho deles para nada.

    • Observe que, em sns.scatterplot(), size é usado para mapear valores de uma coluna para uma escala de tamanhos, e s é usado para definir um tamanho constante para todos os pontos.
  • Deixe o texto centralizado, para que ele fique exatamente na posição do produto no eixo x.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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()
Editar e Executar Código