IniziaInizia gratis

Popolarità dei prodotti venduti per stato

Il dataset dei farmer's market contiene colonne corrispondenti a 28 diversi prodotti e indica se sono venduti o meno in quel mercato. Vuoi scoprire se ci sono storie interessanti su quanto sia probabile trovare un certo prodotto nei mercati di uno stato. Per rispondere a questa domanda, riduci i dati a tre colonne:

  • state - il nome dello stato
  • good - il prodotto di interesse
  • prop_selling - la proporzione di mercati in quello stato che vendono proprio quel prodotto

Per capire rapidamente se emergono pattern, scegli un sottoinsieme di prodotti che trovi interessanti e decidi di creare un semplice text-scatter: il prodotto sull'asse x e la proporzione dei mercati di uno stato che vendono quel prodotto sull'asse y.

Questo esercizio fa parte del corso

Migliorare le tue visualizzazioni dei dati in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Filtra goods_by_state sui prodotti desiderati elencati in to_plot.

  • Nascondi i punti dello scatter plot impostando la loro dimensione a nulla.

    • Nota che in sns.scatterplot(), size viene usato per mappare i valori di una colonna a una scala di dimensioni, mentre s viene usato per impostare una dimensione costante per tutti i punti.
  • Rendi il testo centrato, così si posiziona direttamente sulla posizione del prodotto sull'asse x.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice