ПочатиПочніть безкоштовно

Територіальні одиниці за індексом ZIP

У маркетингу дуже часто потрібно знати демографію за індексом ZIP. Територіальні одиниці за індексом ZIP ("ZCTA") — це еквіваленти ZIP, визначені Бюро перепису, які формуються з блоків перепису. У цій вправі ви надішлете запит на загальну чисельність населення для всіх ZCTA у штаті Алабама.

У pandas індекс можна використовувати для вибірки конкретних рядків. GEOID підходять як ідентифікатори рядків. У цій вправі ви встановите багаторівневий індекс на основі штату та ZCTA кожного рядка.

Пакети requests і pandas імпортовано. Визначено base_url, а також словник predicates зі списком змінних для запиту.

Ця вправа є частиною курсу

Аналіз даних перепису США в Python

Переглянути курс

Інструкції до вправи

  • Встановіть ключ "for" у словнику predicates, щоб повернути усі ZCTA; повністю пропишіть географію як "zip code tabulation area (or part)""
  • Встановіть ключ "in" у словнику predicates, щоб повертати лише ZCTA у штаті Алабама; вам знадобиться знайти код FIPS для Алабами в одному з онлайн-джерел, про які ви дізналися
  • Встановіть індекс DataFrame як конкатенацію стовпців state і zcta. Використайте inplace = True, щоб не створювати новий DataFrame.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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())
Редагувати та запускати код