ComeçarComece de graça

Da API à visualização: Group Quarters

Neste exercício, você vai investigar onde menores infratores estão encarcerados. Este exercício apresenta o conceito de populações em "group quarters", que inclui dormitórios universitários, unidades prisionais, casas de repouso, bases militares etc.

Você vai visualizar a porcentagem, por estado, de homens menores de idade encarcerados em unidades correcionais para adultos. As variáveis a solicitar são:

  • PCT021005 - Masculino: Menores de 18 anos: População institucionalizada: Unidades correcionais para adultos
  • PCT021015 - Masculino: Menores de 18 anos: População institucionalizada: Unidades juvenis: Unidades correcionais destinadas a adolescentes

requests já foi importado. O base_url para a requisição à API foi definido.

pandas e seaborn foram importados usando 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

  • Complete a lista get_vars com as duas variáveis desejadas
  • Use astype para converter as colunas in_adult e in_juvenile para inteiro
  • Calcule a porcentagem de menores em unidades correcionais para adultos: o numerador deve ser 100 vezes o número de menores em unidades in_adult; o denominador deve ser a soma de menores nas unidades in_adult e in_juvenile
  • Ordene states por pct_in_adult em ordem decrescente, usando inplace = True

Exercício interativo prático

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

# Specify variables and execute API request
get_vars = ["NAME", ____]
predicates["get"] = ",".join(get_vars)
r = requests.get(base_url, params=predicates)

# Construct DataFrame
col_names = ["name", "in_adult", "in_juvenile", "state"]
states = pd.DataFrame(columns=col_names, data=r.json()[1:])
states[["in_adult", "in_juvenile"]] = states[["in_adult", "in_juvenile"]].____

# Calculate percentage of incarcerated male minors in adult facilities
states["pct_in_adult"] = ____
states.sort_values(by = ____, ascending = ____, inplace = ____)
sns.stripplot(x = "pct_in_adult", y = "name", data = states)
plt.show()
Editar e executar o código