Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 naam state.
  • Filter de tracts DataFrame op elke waarde van state en wijs toe aan tmp.
  • Bereken \(D\) voor elke staat door de formule toe te passen op tmp, en sla het resultaat op in het woordenboek state_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))
Code bewerken en uitvoeren