Začněte nyníZačněte zdarma

Od API k vizualizaci: skupinové ubytování

V tomto cvičení se podíváš na to, kde jsou umístěni mladiství pachatelé. Cvičení představuje koncept populací ve „skupinovém ubytování" (group quarters), kam patří například koleje, nápravná zařízení, pečovatelské domy, vojenské základny apod.

Visualizuješ procentuální podíl uvězněných nezletilých mužů v dospělých nápravných zařízeních podle jednotlivých států. Proměnné, které si vyžádáš, jsou:

  • PCT021005 – Muži: do 18 let: Institucionalizovaná populace: Nápravná zařízení pro dospělé
  • PCT021015 – Muži: do 18 let: Institucionalizovaná populace: Zařízení pro mladistvé: Nápravná zařízení určená pro mladistvé

requests je již importován. base_url pro API požadavek je definována.

pandas a seaborn jsou importovány pod obvyklými aliasy.

Toto cvičení je součástí kurzu

Analýza dat amerického sčítání lidu v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Doplň seznam get_vars o dvě požadované proměnné
  • Pomocí astype převeď sloupce in_adult a in_juvenile na celá čísla (integer)
  • Vypočítej procentuální podíl nezletilých v nápravných zařízeních pro dospělé: čitatel má být 100násobek počtu nezletilých v zařízeních in_adult; jmenovatel má být součet nezletilých v zařízeních in_adult a in_juvenile
  • Seřaď states podle sloupce pct_in_adult sestupně s použitím inplace = True

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód