Sammanfoga census-områden och storstadsområden
För att du ska kunna fokusera på hur metoden merge fungerar har en funktion som beräknar dissimilaritetsindexet redan tillhandahållits. (Du skapar den här funktionen själv i nästa övning!)
För att använda funktionen behöver du lägga till MSA-identifierare i DataFrame:n tracts. Du använder state och county, som finns i båda DataFrames, som nycklar för sammanslagningen. I slutet använder du seaborns metod stripplot för att visa de tio mest segregerade storstadsområdena.
DataFrame:n tracts som du använt tidigare är laddad. Befolkningsdata per MSA är laddad som msa, och de första raderna visas i konsolen. Slutligen är msa_def laddad med de counties som ingår i respektive MSA.
pandas och seaborn har laddats med de vanliga aliasen.
Den här övningen är en del av kursen
Analys av amerikansk folkräkningsdata i Python
Övningsinstruktioner
- Använd metoden
nlargestpå DataFrame:nmsaför att returnera de 50 största storstadsområdena efter"population". - Både
tractsochmsa_defhar kolumnerna"state"och"county". Använd metodenmergemed parameternonför att slå samman på dessa kolumner. - Använd metoden
mergeför att slå sammanmsaochmsa_Dpå MSA-identifieraren.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()