ComeçarComece de graça

Unindo tratos censitários e áreas metropolitanas

Para focar em como o método merge funciona, uma função que calcula o Índice de Dissimilaridade já foi fornecida para você. (Você vai criar essa função no próximo exercício!)

Para aplicar essa função, você precisa adicionar os identificadores de MSA ao DataFrame tracts. Você vai usar state e county, presentes em ambos os DataFrames, como chaves de junção. Ao final, você vai usar o método stripplot do seaborn para mostrar as dez áreas metropolitanas mais segregadas.

O DataFrame tracts que você usou anteriormente está carregado. Os dados de população por MSA estão carregados como msa, e as primeiras linhas são exibidas no console. Por fim, msa_def está carregado com os condados que compõem cada MSA.

pandas e seaborn foram carregados com os aliases de sempre.

Este exercício faz parte do curso

Analisando dados do Censo dos EUA em Python

Ver curso

Instruções do exercício

  • Use o método nlargest no DataFrame msa para retornar as 50 maiores áreas metropolitanas por "population".
  • Tanto tracts quanto msa_def têm as colunas "state" e "county". Use o método merge com o parâmetro on para fazer a junção nessas colunas.
  • Use o método merge para unir msa e msa_D pelo identificador da MSA.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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()
Editar e executar o código