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
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 chamadastate. - Filtre o DataFrame
tractsem cada valor destatee atribua atmp. - Calcule \(D\) para cada estado aplicando a fórmula a
tmpe armazene o resultado no dicionáriostate_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))