CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Complétez la liste get_vars avec les deux variables souhaitées
  • Utilisez astype pour convertir les colonnes in_adult et in_juvenile en 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 établissements in_adult et in_juvenile
  • Triez states par pct_in_adult en ordre décroissant, en utilisant inplace = 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()
Modifier et exécuter le code