D in einer Schleife berechnen
Ist Georgias Index of Dissimilarity von 0,544 hoch oder niedrig? Vergleichen wir ihn mit Illinois (FIPS = 17), der Heimat von Chicago.
In dieser Übung verwenden wir eine Schleife, um \(D\) für alle Bundesstaaten zu berechnen und vergleichen anschließend Georgia und Illinois.
Denk daran, dass die Formel für den Index of Dissimilarity lautet:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas wurde mit dem üblichen Alias importiert, und das DataFrame tracts mit den Bevölkerungs-Spalten "white" und "black" wurde geladen. Die Variablen w und b wurden mit den Spaltennamen "white" und "black" definiert.
Diese Übung ist Teil des Kurses
Analyse von US-Volkszählungsdaten mit Python
Anleitung zur Übung
- Verwende die Methode
unique()auf der Spalte"state", um eine Liste der FIPS-Codes der Bundesstaaten zu erstellen. - Nutze eine for-Schleife, um jedes Element von
states(also jeden FIPS-Code) in einer Variablenstatezu speichern. - Filtere das DataFrame
tractsfür jeden Wert vonstateund weise das Ergebnistmpzu. - Berechne \(D\) für jeden Bundesstaat, indem du die Formel auf
tmpanwendest, und speichere das Ergebnis im Dictionarystate_D.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))