De l'API à la visualisation : lieux de vie collectifs
Dans cet exercice, vous allez examiner où sont incarcérés les jeunes contrevenants. On y présente la notion de « lieux de vie collectifs » (group quarters), qui comprend notamment les résidences étudiantes, les établissements correctionnels, les centres d'hébergement et de soins de longue durée, les bases militaires, etc.
Vous allez visualiser, par État, le pourcentage de garçons mineurs incarcérés dans des établissements correctionnels pour adultes. Les variables à demander sont :
- PCT021005 - Garçons : moins de 18 ans : population en établissement : établissements correctionnels pour adultes
- PCT021015 - Garçons : moins de 18 ans : population en établissement : établissements pour jeunes : établissements correctionnels destinés aux adolescents
requests a été importé. Le base_url pour l'appel à l'API a été défini.
pandas et seaborn ont été importés avec leurs alias habituels.
Cette activité fait partie du cours
Analyser les données du recensement des États-Unis avec Python
Instructions de l’exercice
- Complétez la liste
get_varsavec les deux variables souhaitées - Utilisez
astypepour convertir les colonnesin_adultetin_juvenileen entier (int) - Calculez le pourcentage de mineurs dans des établissements correctionnels pour adultes : le numérateur doit être 100 fois le nombre de mineurs dans des établissements
in_adult; le dénominateur doit être la somme des mineurs dans des établissementsin_adultetin_juvenile - Triez
statesparpct_in_adulten ordre décroissant, en utilisantinplace = True
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()