ComenzarEmpieza gratis

Calcular D en un bucle

¿Es alto o bajo el Índice de Disimilitud de Georgia, de 0.544? Compáralo con Illinois (FIPS = 17), donde está Chicago.

En este ejercicio usaremos un bucle para calcular \(D\) para todos los estados y luego compararemos Georgia e Illinois.

Recuerda que la fórmula del Índice de Disimilitud es:

$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$

Se ha importado pandas con el alias habitual y se ha cargado el DataFrame tracts con las columnas de población "white" y "black". Las variables w y b se han definido con los nombres de las columnas "white" y "black".

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 unique() sobre la columna "state" para crear una lista de códigos FIPS de estados.
  • Usa un bucle for para guardar cada elemento de states (es decir, cada código FIPS) en una variable llamada state.
  • Filtra el DataFrame tracts por cada valor de state y asígnalo a tmp.
  • Calcula \(D\) para cada estado aplicando la fórmula a tmp y guarda el resultado en el diccionario state_D.

Ejercicio interactivo práctico

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

# Get list of state FIPS Codes
states = list(tracts["state"].____)

state_D = {}  # Initialize dictionary as collector
for state in ____:
    # Filter by state
    tmp = ____
    
    # Add Index of Dissimilarity to Dictionary
    state_D[state] = 0.5 * sum(____)

# Print D for Georgia (FIPS = 13) and Illinois (FIPS = 17)    
print("Georgia D =", round(state_D["13"], 3))
print("Illinois D =", round(state_D["17"], 3))
Editar y ejecutar código