Beräkna D i en loop
Är Georgias dissimilaritetsindex på 0,544 högt eller lågt? Låt oss jämföra det med Illinois (FIPS = 17), hemstat för Chicago.
I den här övningen använder vi en loop för att beräkna \(D\) för alla delstater och sedan jämföra Georgia och Illinois.
Kom ihåg att formeln för dissimilaritetsindexet är:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas har importerats med det vanliga aliaset och tracts-dataframen med befolkningskolumnerna "white" och "black" har lästs in. Variablerna w och b har definierats med kolumnnamnen "white" och "black".
Den här övningen är en del av kursen
Analys av amerikansk folkräkningsdata i Python
Övningsinstruktioner
- Använd metoden
unique()på kolumnen"state"för att skapa en lista med delstaternas FIPS-koder. - Använd en for-loop för att lagra varje element i
states(det vill säga varje FIPS-kod) i en variabel med namnetstate. - Filtrera
tracts-dataframen på varje värde avstateoch tilldela resultatet tilltmp. - Beräkna \(D\) för varje delstat genom att tillämpa formeln på
tmpoch lagra resultatet i ordbokenstate_D.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))