Á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
Instrucciones del ejercicio
- Establece la clave
"for"en el diccionariopredicatespara devolver todas las ZCTAs; escribe la geografía completa como"zip code tabulation area (or part)"" - Establece la clave
"in"en el diccionariopredicatespara 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
stateyzcta. Usainplace = Truepara 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())