Obliczanie D w pętli
Czy wskaźnik D dla Georgii wynoszący 0,544 jest wysoki czy niski? Porównajmy go z Illinois (FIPS = 17), stanem, w którym leży Chicago.
W tym ćwiczeniu użyjemy pętli do obliczenia \(D\) dla wszystkich stanów, a następnie porównamy Georgię i Illinois.
Przypomnij sobie wzór na Indeks Niepodobieństwa:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
Biblioteka pandas została zaimportowana z użyciem standardowego aliasu, a ramka danych tracts z kolumnami populacji "white" i "black" jest już wczytana. Zmienne w i b zostały zdefiniowane z nazwami kolumn "white" i "black".
To ćwiczenie jest częścią kursu
Analiza danych spisowych USA w Pythonie
Instrukcje do ćwiczenia
- Użyj metody
unique()na kolumnie"state", aby utworzyć listę kodów FIPS stanów. - Zastosuj pętlę for, aby przypisać każdy element listy
states(czyli każdy kod FIPS) do zmiennej o nazwiestate. - Przefiltruj ramkę danych
tractswedług każdej wartości zmiennejstatei przypisz wynik dotmp. - Oblicz \(D\) dla każdego stanu, stosując wzór do
tmp, i zapisz wynik w słownikustate_D.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))