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
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
10punti.
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()