CommencerCommencer gratuitement

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

Afficher le cours

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ée state.
  • Filtrez le DataFrame tracts pour chaque valeur de state, et affectez le résultat à tmp.
  • Calculez \(D\) pour chaque État en appliquant la formule à tmp, et stockez le résultat dans le dictionnaire state_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))
Modifier et exécuter le code