Inizia subitoInizia gratis

Dall'API alla visualizzazione: Group Quarters

In questo esercizio esaminerai dove sono incarcerati i minorenni autori di reato. L'esercizio introduce il concetto di popolazioni in "group quarters", che include dormitori universitari, strutture correttive, case di riposo, basi militari, ecc.

Visualizzerai, per stato, la percentuale di maschi minorenni in strutture correttive per adulti. Le variabili da richiedere sono:

  • PCT021005 - Maschi: meno di 18 anni: popolazione istituzionalizzata: strutture correzionali per adulti
  • PCT021015 - Maschi: meno di 18 anni: popolazione istituzionalizzata: strutture per minori: strutture correzionali destinate ai minori

requests è stato importato. Il base_url per la richiesta API è stato definito.

pandas e seaborn sono stati importati con i soliti alias.

Questo esercizio fa parte del corso

Analizzare i dati del Censimento USA con Python

Visualizza corso

Istruzioni dell'esercizio

  • Completa la lista get_vars con le due variabili richieste
  • Usa astype per convertire le colonne in_adult e in_juvenile in interi
  • Calcola la percentuale di minorenni in strutture correzionali per adulti: il numeratore deve essere 100 volte il numero di minorenni nelle strutture in_adult; il denominatore deve essere la somma dei minorenni nelle strutture in_adult e in_juvenile
  • Ordina states per pct_in_adult in ordine decrescente, usando inplace = True

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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()
Modifica ed esegui il codice