ComenzarEmpieza gratis

Áreas de tabulación de códigos postales

En marketing, es muy habitual querer conocer la demografía por código postal. Las Zip Code Tabulation Areas ("ZCTAs") son equivalentes definidos por el Census a los códigos ZIP, construidos a partir de bloques del censo. En este ejercicio solicitarás la población total para todas las ZCTAs del estado de Alabama.

En pandas, puedes usar un índice para recuperar filas concretas. Los GEOID son buenos identificadores de fila. En este ejercicio vas a establecer un índice multinivel basado en el estado y la ZCTA de cada fila.

Los paquetes requests y pandas ya se han importado. base_url está definida, al igual que el diccionario predicates con la lista de variables a solicitar.

Este ejercicio forma parte del curso

Análisis de datos del Censo de EE. UU. con Python

Ver curso

Instrucciones del ejercicio

  • Establece la clave "for" en el diccionario predicates para devolver todas las ZCTAs; escribe la geografía completa como "zip code tabulation area (or part)""
  • Establece la clave "in" en el diccionario predicates para devolver solo ZCTAs del estado de Alabama; tendrás que buscar el código FIPS de Alabama en una de las fuentes en línea que has aprendido a usar
  • Define el índice del DataFrame como la concatenación de las columnas state y zcta. Usa inplace = True para no crear un DataFrame nuevo.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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())
Editar y ejecutar código