D berekenen in een lus
Is Georgia's Index of Dissimilarity van 0,544 hoog of laag? Laten we het vergelijken met Illinois (FIPS = 17), de thuisstaat van Chicago.
In deze oefening gebruiken we een lus om \(D\) voor alle staten te berekenen en vergelijken we vervolgens Georgia en Illinois.
Onthoud dat de formule voor de Index of Dissimilarity is:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas is geïmporteerd met de gebruikelijke alias, en de tracts DataFrame met bevolkingskolommen "white" en "black" is geladen. De variabelen w en b zijn gedefinieerd met de kolomnamen "white" en "black".
Deze oefening maakt deel uit van de cursus
US Census-gegevens analyseren in Python
Oefeninstructies
- Gebruik de methode
unique()op de kolom"state"om een lijst met FIPS-codes van staten te maken. - Gebruik een for-lus om elk element van
states(dus elke FIPS-code) op te slaan in een variabele met de naamstate. - Filter de
tractsDataFrame op elke waarde vanstateen wijs toe aantmp. - Bereken \(D\) voor elke staat door de formule toe te passen op
tmp, en sla het resultaat op in het woordenboekstate_D.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))