Calculul lui D într-o buclă
Indicele de Disimilaritate de 0,544 al statului Georgia este ridicat sau scăzut? Hai să-l comparăm cu Illinois (FIPS = 17), statul în care se află Chicago.
În acest exercițiu vom folosi o buclă pentru a calcula \(D\) pentru toate statele, după care vom compara Georgia și Illinois.
Amintește-ți că formula pentru Indicele de Disimilaritate este:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas a fost importat cu aliasul obișnuit, iar DataFrame-ul tracts cu coloanele de populație "white" și "black" a fost încărcat. Variabilele w și b au fost definite cu numele de coloane "white" și, respectiv, "black".
Acest exercițiu face parte din cursul
Analiza datelor recensământului SUA în Python
Instrucțiuni pentru exercițiu
- Folosește metoda
unique()pe coloana"state"pentru a crea o listă de coduri FIPS ale statelor. - Folosește o buclă
forpentru a stoca fiecare element dinstates(adică fiecare cod FIPS) într-o variabilă numităstate. - Filtrează DataFrame-ul
tractspentru fiecare valoare a luistateși atribuie rezultatul variabileitmp. - Calculează \(D\) pentru fiecare stat aplicând formula pe
tmpși stochează rezultatul în dicționarulstate_D.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))