Calcolare D in un ciclo
L'Index of Dissimilarity della Georgia pari a 0,544 è alto o basso? Confrontiamolo con l'Illinois (FIPS = 17), dove si trova Chicago.
In questo esercizio useremo un ciclo per calcolare \(D\) per tutti gli stati, poi confronteremo Georgia e Illinois.
Ricorda che la formula dell'Index of Dissimilarity è:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas è stato importato con il solito alias, e il DataFrame tracts con le colonne di popolazione "white" e "black" è stato caricato. Le variabili w e b sono state definite con i nomi di colonna "white" e "black".
Questo esercizio fa parte del corso
Analizzare i dati del Censimento USA con Python
Istruzioni dell'esercizio
- Usa il metodo
unique()sulla colonna"state"per creare un elenco di codici FIPS degli stati. - Usa un ciclo for per memorizzare ciascun elemento di
states(cioè ogni codice FIPS) in una variabile chiamatastate. - Filtra il DataFrame
tractsin base a ciascun valore distatee assegna il risultato atmp. - Calcola \(D\) per ogni stato applicando la formula a
tmpe salva il risultato nel dizionariostate_D.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Get list of state FIPS Codes
states = list(tracts["state"].____)
state_D = {} # Initialize dictionary as collector
for state in ____:
# Filter by state
tmp = ____
# Add Index of Dissimilarity to Dictionary
state_D[state] = 0.5 * sum(____)
# Print D for Georgia (FIPS = 13) and Illinois (FIPS = 17)
print("Georgia D =", round(state_D["13"], 3))
print("Illinois D =", round(state_D["17"], 3))