Výpočet D ve smyčce
Je Index of Dissimilarity 0,544 pro Georgii vysoký, nebo nízký? Pojďme ho porovnat s Illinois (FIPS = 17), domovem Chicaga.
V tomto cvičení použijeme smyčku k výpočtu \(D\) pro všechny státy a pak porovnáme Georgii a Illinois.
Připomeň si, že vzorec pro Index of Dissimilarity je:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas byl importován s obvyklým aliasem a DataFrame tracts s populačními sloupci "white" a "black" je načten. Proměnné w a b jsou definovány s názvy sloupců "white" a "black".
Toto cvičení je součástí kurzu
Analýza dat amerického sčítání lidu v Pythonu
Pokyny k cvičení
- Pomocí metody
unique()na sloupci"state"vytvoř seznam FIPS kódů států. - Použij cyklus for, který bude postupně ukládat každý prvek seznamu
states(tedy každý FIPS kód) do proměnnéstate. - Filtruj DataFrame
tractspodle každé hodnotystatea výsledek přiřaď dotmp. - Pro každý stát vypočítej \(D\) tak, že aplikuješ vzorec na
tmp, a výsledek ulož do slovníkustate_D.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))