ComeçarComece de graça

Calculando D em um loop

O Índice de Dissimilaridade da Geórgia, de 0,544, é alto ou baixo? Vamos comparar com Illinois (FIPS = 17), onde fica Chicago.

Neste exercício, vamos usar um loop para calcular \(D\) para todos os estados e, depois, comparar Geórgia e Illinois.

Lembre-se de que a fórmula do Índice de Dissimilaridade é:

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

pandas foi importado com o alias de sempre, e o DataFrame tracts, com as colunas de população "white" e "black", já foi carregado. As variáveis w e b foram definidas com os nomes de coluna "white" e "black".

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 unique() na coluna "state" para criar uma lista de códigos FIPS dos estados.
  • Use um for-loop para armazenar cada elemento de states (ou seja, cada código FIPS) em uma variável chamada state.
  • Filtre o DataFrame tracts em cada valor de state e atribua a tmp.
  • Calcule \(D\) para cada estado aplicando a fórmula a tmp e armazene o resultado no dicionário state_D.

Exercício interativo prático

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

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