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
<Kurs>Analyse von US-Volkszählungsdaten mit Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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))