Calculer D dans une boucle
Un Index de dissimilarité de 0,544 pour la Géorgie est-il élevé ou faible ? Comparons-le à l’Illinois (FIPS = 17), où se trouve Chicago.
Dans cet exercice, nous allons utiliser une boucle pour calculer \(D\) pour tous les États, puis comparer la Géorgie et l’Illinois.
Rappelez-vous que la formule de l’Index de dissimilarité est :
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas a été importé avec l’alias habituel, et le DataFrame tracts contenant les colonnes de population "white" et "black" a été chargé. Les variables w et b ont été définies avec les noms de colonnes "white" et "black".
Cet exercice fait partie du cours
Analyzing US Census Data in Python
Instructions
- Utilisez la méthode
unique()sur la colonne"state"pour créer une liste de codes FIPS des États. - Utilisez une boucle for pour stocker chaque élément de
states(c’est-à-dire chaque code FIPS) dans une variable nomméestate. - Filtrez le DataFrame
tractspour chaque valeur destate, et affectez le résultat àtmp. - Calculez \(D\) pour chaque État en appliquant la formule à
tmp, et stockez le résultat dans le dictionnairestate_D.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))