Obszary tabelaryczne kodów pocztowych (ZCTA)
W marketingu bardzo często zachodzi potrzeba poznania demografii według kodów pocztowych. ZIP Code Tabulation Areas („ZCTAs") to zdefiniowane przez Census Bureau odpowiedniki kodów pocztowych, zbudowane z bloków spisowych. W tym ćwiczeniu pobierzesz dane o łącznej liczbie ludności dla wszystkich ZCTAs w stanie Alabama.
W pandas indeks służy do pobierania określonych wierszy. Identyfikatory GEOID doskonale nadają się jako identyfikatory wierszy. W tym ćwiczeniu ustawisz indeks wielopoziomowy oparty na kolumnach stanu i ZCTA.
Biblioteki requests i pandas są już zaimportowane. Zmienna base_url jest zdefiniowana, podobnie jak słownik predicates z listą zmiennych do pobrania.
To ćwiczenie jest częścią kursu
Analiza danych spisowych USA w Pythonie
Instrukcje do ćwiczenia
- Ustaw klucz
"for"w słownikupredicates, aby zwrócić wszystkie ZCTAs; wpisz nazwę geografii w pełnej formie:"zip code tabulation area (or part)"" - Ustaw klucz
"in"w słownikupredicates, aby zwrócić tylko ZCTAs ze stanu Alabama; kod FIPS dla Alabama znajdziesz w jednym z poznanych wcześniej źródeł online - Ustaw indeks ramki danych jako konkatenację kolumn
stateizcta. Użyjinplace = True, aby nie tworzyć nowej ramki danych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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())