Python Tutorial: Using the Census API
Skills:
Python for Data80%
Key Takeaways
This video tutorial demonstrates how to use the Census API with Python, specifically constructing API requests and loading responses into pandas data frames. The tutorial covers using the requests library to construct URLs, specifying parameters, and handling responses.
Full Transcript
the data frame used in the first lesson was downloaded from the census API server now we'll learn how to construct an API request and load the response into a panda's data frame this is a basic census API request the part up to the question mark is referred to as the base URL and specifies the host year and data set the part after the question mark is referred to as the query string this is where we specify parameters such as the variables being requested and the desired geography although the URL can be constructed using simple string manipulation we will use the request library imported here to construct the URL we define variables for the host year and data set then build the base URL by joining these variables with a slash dataset equals Dec / SF one stands for summary file one and refers to the full count data from the decennial census the requests get method accepts query parameters as a dictionary the Census API documentation refers to these parameters as predicates so we name the dictionary predicates the variables to request are assigned to a list get bars these include the name of the geographic unit the land area in square meters and the full population count don't worry about the obscure name p zero zero one zero zero one will learn where to find these variable names later a dictionary key get is created by joining the variable names into a comma separated string set the four key to the geographic level we use state followed by the asterisk wildcard to request all states finally execute the request and store the return value in the response object our now inspect the text attribute of the response object is a string with the form of a list of lists each sub list is a row of data with the first row being the table header notice that all values including numerix are double quoted when we load this into pandas we will have to fix these data types in case of a poorly formed request the API server will return an error message one common error is specifying the variable name incorrectly the json method of the response object returns a list of lists the first sub list contains the column names every api call returns geographic identifiers this one returned the column named state throughout this course we will be renaming columns to make them easier to work with begin by creating a list containing the new column names all lowercase now construct the data frame using PD data frame the new column names get passed to the columns parameter the JSON list of Lists gets passed to the data parameter use slicing to skip row 0 which contains the header 2 columns have integer data currently stored as text fix the data types by passing the correct type int to the as type method use head to view the result the state identifier like a zip code has leading zeros and should be left as text now that the data is loaded let's see an example analysis create a new column pop per km2 by dividing the population by the land area the result is in square meters multiplied by 1000 squared to get the density in square kilometers then use n largest to return the three top records the first parameter is the number of rows to return the second is the column to sort by you've seen key elements of the census API now it's your turn to try
Original Description
Want to learn more? Take the full course at https://learn.datacamp.com/courses/analyzing-us-census-data-in-python at your own pace. More than a video, you'll learn hands-on coding & quickly apply skills to your daily work.
---
The data frame used in the first lesson was downloaded from the Census API server. Now we'll learn how to construct an API request and load the response into a pandas data frame.
This is a basic Census API request.
The part up to the question mark is referred to as the "base URL", and specifies, the host, year, and dataset.
The part after the question mark is referred to as the query string.
This is where we specify parameters such as the variables being requested, and the desired geography. Although the URL can be constructed using simple string manipulation...
...we will use the requests library, imported here, to construct the URL.
We define variables for the HOST, year, and dataset,
then build the base URL by joining these variables with a slash. dataset = "dec/sf1" stands for "Summary File 1", and refers to the full count data from the decennial census.
The requests.get method accepts query parameters as a dictionary. The Census API documentation refers to these parameters as "predicates", so we name the dictionary "predicates".
The variables to request are assigned to a list, get_vars. These include the name of the geographic unit, the land area in square meters, and the full population count. Don't worry about the obscure name "P001001". We'll learn where to find these variable names later.
A dictionary key "get" is created by joining the variable names into a comma-separated string.
Set the "for" key to the geographic level. We use "state", followed by the asterisk wild card, to request all states.
Finally, execute the request and store the return value in the response object "r".
Now inspect the text attribute of the response object.
This is a string with the form of a list of lists. Each sublist is a "row" of da
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from DataCamp · DataCamp · 48 of 60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
▶
49
50
51
52
53
54
55
56
57
58
59
60
SQL Server Tutorial: Date manipulation
DataCamp
R Tutorial: Intermediate Interactive Data Visualization with plotly in R
DataCamp
R Tutorial: Adding aesthetics to represent a variable
DataCamp
R Tutorial: Moving Beyond Simple Interactivity
DataCamp
Python Tutorial: Why use ML for marketing? Strategies and use cases
DataCamp
Python Tutorial: Preparation for modeling
DataCamp
Python Tutorial: Machine Learning modeling steps
DataCamp
R Tutorial: The prior model
DataCamp
R Tutorial: Data & the likelihood
DataCamp
R Tutorial: The posterior model
DataCamp
R Tutorial: An Introduction to plotly
DataCamp
R Tutorial: Plotting a single variable
DataCamp
R Tutorial: Bivariate graphics
DataCamp
Python Tutorial: Customer Segmentation in Python
DataCamp
Python Tutorial: Time cohorts
DataCamp
Python Tutorial: Calculate cohort metrics
DataCamp
Python Tutorial: Cohort analysis visualization
DataCamp
R Tutorial: Building Dashboards with flexdashboard
DataCamp
R Tutorial: Anatomy of a flexdashboard
DataCamp
R Tutorial: Layout basics
DataCamp
R Tutorial: Advanced layouts
DataCamp
Python Tutorial: Time Series Analysis in Python
DataCamp
Python Tutorial: Correlation of Two Time Series
DataCamp
Python Tutorial: Simple Linear Regressions
DataCamp
Python Tutorial: Autocorrelation
DataCamp
R Tutorial: The gapminder dataset
DataCamp
R Tutorial: The filter verb
DataCamp
R Tutorial: The arrange verb
DataCamp
R Tutorial: The mutate verb
DataCamp
R Tutorial: What is cluster analysis?
DataCamp
R Tutorial: Distance between two observations
DataCamp
R Tutorial: The importance of scale
DataCamp
R Tutorial: Measuring distance for categorical data
DataCamp
Python Tutorial: Plotting multiple graphs
DataCamp
Python Tutorial: Customizing axes
DataCamp
Python Tutorial: Legends, annotations, & styles
DataCamp
Python Tutorial: Introduction to iterators
DataCamp
Python Tutorial: Playing with iterators
DataCamp
Python Tutorial: Using iterators to load large files into memory
DataCamp
SQL Tutorial: Introduction to Relational Databases in SQL
DataCamp
SQL Tutorial: Tables: At the core of every database
DataCamp
SQL Tutorial: Update your database as the structure changes
DataCamp
Python Tutorial: Classification-Tree Learning
DataCamp
Python Tutorial: Decision-Tree for Classification
DataCamp
Python Tutorial: Decision-Tree for Regression
DataCamp
Python Tutorial: Census Subject Tables
DataCamp
Python Tutorial: Census Geography
DataCamp
Python Tutorial: Using the Census API
DataCamp
R Tutorial: A/B Testing in R
DataCamp
R Tutorial: Baseline Conversion Rates
DataCamp
R Tutorial: Designing an Experiment - Power Analysis
DataCamp
R Tutorial: Introduction to qualitative data
DataCamp
R Tutorial: Understanding your qualitative variables
DataCamp
R Tutorial: Making Better Plots
DataCamp
SQL Tutorial: OLTP and OLAP
DataCamp
SQL Tutorial: Storing data
DataCamp
SQL Tutorial: Database design
DataCamp
Python Tutorial: Introduction to spaCy
DataCamp
Python Tutorial: Statistical Models
DataCamp
Python Tutorial: Rule-based Matching
DataCamp
More on: Python for Data
View skill →Related Reads
📰
📰
📰
📰
AI Server Cooling Evolution: From Air Cooling to System-Level Thermal Engineering
Medium · AI
I Would Not Mind Being Stuck on Opus 4.8 Forever
Medium · AI
How I Built a Free Online Image & PDF Processing Platform with Vue 3 + FastAPI
Dev.to · IAMUU
I Built a Free AI-Powered YouTube SEO Toolkit With Zero Budget. Here’s What Actually Happened.
Medium · Startup
🎓
Tutor Explanation
DeepCamp AI