Začněte nyníZačněte zdarma

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

Zobrazit kurz

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 tracts podle každé hodnoty state a výsledek přiřaď do tmp.
  • Pro každý stát vypočítej \(D\) tak, že aplikuješ vzorec na tmp, a výsledek ulož do slovníku state_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))
Upravit a spustit kód