CommencerCommencer gratuitement

De l’API à la visualisation : établissements collectifs

Dans cet exercice, vous allez étudier où sont incarcérés les mineurs délinquants. L’exercice introduit la notion de population en « établissements collectifs » (group quarters), qui inclut les résidences universitaires, les établissements pénitentiaires, les maisons de retraite, les bases militaires, etc.

Vous allez visualiser, par État, la part de garçons mineurs incarcérés dans des établissements pénitentiaires pour adultes. Les variables à demander sont :

  • PCT021005 - Hommes : moins de 18 ans : population institutionnalisée : établissements correctionnels pour adultes
  • PCT021015 - Hommes : moins de 18 ans : population institutionnalisée : établissements pour mineurs : établissements correctionnels destinés aux mineurs

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.

Cet exercice fait partie du cours

Analyzing US Census Data in Python

Afficher le cours

Instructions

  • Complétez la liste get_vars avec les deux variables souhaitées
  • Utilisez astype pour convertir les colonnes in_adult et in_juvenile en entiers
  • 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 par ordre décroissant, en utilisant inplace = True

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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