IniziaInizia gratis

Qual è lo stato più favorevole ai mercati?

Esplorando i dati dei farmer's market, ti chiedi quali pattern possano emergere aggregando al livello degli stati. Alcuni stati sono più favorevoli ai mercati rispetto ad altri? Per indagarlo, raggruppi i dati per stato e calcoli il numero di mercati trasformato in log (log_markets) e le popolazioni degli stati (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' }))

Per visualizzare, decidi di usare un grafico di regressione per avere un'idea della relazione "normale" tra numero di mercati e popolazione, e un text-scatter per identificare rapidamente eventuali outlier interessanti.

Questo esercizio fa parte del corso

Migliorare le tue visualizzazioni dei dati in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Itera sulle righe del DataFrame markets_and_pop.
  • Posiziona le annotazioni accanto ai punti dello scatter plot.
  • Riduci la dimensione del testo delle annotazioni a 10 punti.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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