Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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