CommencezCommencez gratuitement

Zones de tabulation des codes postaux

Dans le domaine du marketing, on souhaite très souvent connaître la démographie par code postal. Les Zip Code Tabulation Areas (« ZCTA ») sont des équivalents des ZIP Codes définis par le Census, construits à partir de 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 précises. Les GEOID conviennent comme identifiants de lignes. Dans cet exercice, vous allez définir un index à plusieurs niveaux basé sur l'État et la ZCTA de chaque ligne.

Les modules requests et pandas ont été importés. Le base_url est défini, tout comme le dictionnaire predicates avec la liste des variables à demander.

Cette activité fait partie du cours

Analyser les données du recensement des États-Unis avec Python

Voir le cours

Instructions de l’exercice

  • Définissez la clé "for" dans le dictionnaire predicates pour retourner toutes les ZCTA; écrivez le nom de la géographie au complet comme "zip code tabulation area (or part)"
  • Définissez la clé "in" dans le dictionnaire predicates pour ne retourner que les ZCTA de l'État de l'Alabama; vous devrez chercher le code FIPS de l'Alabama dans l'une des sources en ligne vues précédemment
  • Définissez l'index du DataFrame comme la concaténation des colonnes state et zcta. Utilisez inplace = True pour ne pas créer un nouveau DataFrame.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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())
Modifier et exécuter le code