Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw klucz "for" w słowniku predicates, aby zwrócić wszystkie ZCTAs; wpisz nazwę geografii w pełnej formie: "zip code tabulation area (or part)""
  • Ustaw klucz "in" w słowniku predicates, 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 state i zcta. Użyj inplace = 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())
Edytuj i uruchom kod