ComenzarEmpieza gratis

Unir tracts y áreas metropolitanas

Para centrarte en cómo funciona el método merge, te hemos proporcionado una función que calcula el Índice de Disimilitud. (¡En el próximo ejercicio crearás esta función tú mismo!)

Para aplicar esta función, necesitas añadir los identificadores de MSA al DataFrame tracts. Usarás state y county, presentes en ambos DataFrames, como claves de unión. Al final, usarás el método stripplot de seaborn para mostrar las diez áreas metropolitanas con más segregación.

El DataFrame tracts que has usado anteriormente está cargado. Los datos de población por MSA están cargados como msa, y las primeras filas se muestran en la consola. Por último, msa_def está cargado con los condados que componen cada MSA.

pandas y seaborn se han cargado con los alias habituales.

Este ejercicio forma parte del curso

Análisis de datos del Censo de EE. UU. con Python

Ver curso

Instrucciones del ejercicio

  • Usa el método nlargest en el DataFrame msa para devolver las 50 áreas metropolitanas más grandes por "population".
  • Tanto tracts como msa_def tienen las columnas "state" y "county". Usa el método merge con el parámetro on para unir por estas columnas.
  • Usa el método merge para unir msa y msa_D usando el identificador de la MSA.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código