Joindre les secteurs de recensement et les régions métropolitaines
Pour vous concentrer sur le fonctionnement de la méthode merge, une fonction qui calcule l'indice de dissimilarité vous est fournie. (Vous la créerez vous-même au prochain exercice!)
Pour appliquer cette fonction, vous devez ajouter les identifiants de 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 régions métropolitaines 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é chargés avec leurs alias habituels.
Cette activité fait partie du cours
Analyser les données du recensement des États-Unis avec Python
Instructions de l’exercice
- Utilisez la méthode
nlargestsur le DataFramemsapour retourner les 50 plus grandes régions métropolitaines selon"population". tractsetmsa_defpossèdent tous deux les colonnes"state"et"county". Utilisez la méthodemergeavec le paramètreonpour joindre selon ces colonnes.- Utilisez la méthode
mergepour joindremsaetmsa_Dsur l'identifiant de la MSA.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()