Kom igångKom igång gratis

Zip Code Tabulation Areas

Inom marknadsföring är det mycket vanligt att vilja känna till demografin för olika postnummerområden. Zip Code Tabulation Areas ("ZCTAs") är Census-definierade motsvarigheter till postnummer som byggs upp av Census-block. I den här övningen hämtar du total befolkning för alla ZCTAs i delstaten Alabama.

I pandas kan ett index användas för att hämta specifika rader. GEOIDs lämpar sig väl som radidentifierare. I den här övningen sätter du ett flernivåbaserat index baserat på delstat och ZCTA för varje rad.

Paketen requests och pandas har redan importerats. base_url är definierad, liksom ordboken predicates med listan över variabler att hämta.

Den här övningen är en del av kursen

Analys av amerikansk folkräkningsdata i Python

Visa kurs

Övningsinstruktioner

  • Sätt nyckeln "for" i predicates-ordboken så att alla ZCTAs returneras; skriv ut geografin i sin helhet som "zip code tabulation area (or part)""
  • Sätt nyckeln "in" i predicates-ordboken så att endast ZCTAs i delstaten Alabama returneras; du behöver slå upp FIPS-koden för Alabama i någon av de onlinekällor du har lärt dig om
  • Sätt DataFrame-indexet till en sammanslagning av kolumnerna state och zcta. Använd inplace = True för att inte skapa en ny DataFrame.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Build dictionary of predicates and execute the request
predicates = {}
predicates["get"] = ",".join(["NAME",  "P001001"])
____
____
r = requests.get(base_url, params=predicates)

# Construct the DataFrame
col_names = ["name", "total_pop", "state", "zcta"]
zctas = pd.DataFrame(columns=col_names, data=r.json()[1:])
zctas["total_pop"] = zctas["total_pop"].astype(int)

# Set multilevel index from GEOIDs and print the head
zctas.set_index([____, ____], inplace = True)
print(zctas.head())
Redigera och kör kod