CommencerCommencer gratuitement

Associer les tracts et les aires métropolitaines

Pour vous concentrer sur le fonctionnement de la méthode merge, une fonction qui calcule l’Index of Dissimilarity vous est fournie. (Vous la coderez vous-même dans le prochain exercice !)

Pour appliquer cette fonction, vous devez ajouter les identifiants MSA au DataFrame tracts. Vous utiliserez state et county, présents dans les deux DataFrames, comme clés de jointure. À la fin, vous utiliserez la méthode stripplot de seaborn pour afficher les dix métropoles les plus ségréguées.

Le DataFrame tracts que vous avez déjà utilisé est chargé. Les données de population par MSA sont chargées sous le nom msa, et les premières lignes s’affichent dans la console. Enfin, msa_def est chargé avec les comtés qui composent chaque MSA.

pandas et seaborn ont été importés avec les alias habituels.

Cet exercice fait partie du cours

Analyzing US Census Data in Python

Afficher le cours

Instructions

  • Utilisez la méthode nlargest sur le DataFrame msa pour obtenir les 50 plus grandes métropoles selon "population".
  • tracts et msa_def possèdent tous deux les colonnes "state" et "county". Utilisez la méthode merge avec le paramètre on pour joindre sur ces colonnes.
  • Utilisez la méthode merge pour joindre msa et msa_D sur l’identifiant MSA.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Find identifiers for 50 largest metros by population
msa50 = list(msa.____["msa"])

# Join MSA identifiers to tracts, restrict to largest 50 metros
msa_tracts = pd.merge(____, ____, on = ____)
msa_tracts = msa_tracts[msa_tracts["msa"].isin(msa50)]

# Calculate D using custom function, merge back into MSA
msa_D = dissimilarity(msa_tracts, "white", "black", "msa")
msa = pd.merge(msa, msa_D, ____, ____)

# Plot ten most segregated metros
sns.stripplot(x = "D", y = "name", data = msa.nlargest(10, "D"))
plt.show()
Modifier et exécuter le code