Zip Code Tabulation Areas
Dans le marketing, il est très courant de vouloir connaître la démographie par code ZIP. Les Zip Code Tabulation Areas (« ZCTA ») sont des équivalents aux codes ZIP définis par le Census et construits à partir des blocs de recensement. Dans cet exercice, vous allez demander la population totale pour toutes les ZCTA de l’État de l’Alabama.
Dans pandas, un index peut servir à récupérer des lignes particulières. Les GEOID conviennent comme identifiants de lignes. Dans cet exercice, vous allez définir un index multi-niveaux basé sur l’État et la ZCTA de chaque ligne.
Les packages requests et pandas ont été importés. Le base_url est défini, tout comme le dictionnaire predicates avec la liste des variables à demander.
Cet exercice fait partie du cours
Analyzing US Census Data in Python
Instructions
- Définissez la clé
"for"dans le dictpredicatespour renvoyer toutes les ZCTA ; écrivez la géographie en toutes lettres comme"zip code tabulation area (or part)"" - Définissez la clé
"in"dans le dictpredicatespour ne renvoyer que les ZCTA de l’État de l’Alabama ; vous devrez rechercher le code FIPS de l’Alabama dans l’une des sources en ligne que vous avez vues - Définissez l’index du DataFrame comme la concaténation des colonnes
stateetzcta. Utilisezinplace = Truepour ne pas créer un nouveau DataFrame.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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())