Created
November 5, 2015 20:21
-
-
Save dfolch/2440ba28c2ddf5192ad7 to your computer and use it in GitHub Desktop.
Downloading and Plotting U.S. Census Bureau Data Using Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Downloading and Plotting U.S. Census Bureau Data Using Python\n", | |
| "David C. Folch | Florida State University | github: @dfolch\n", | |
| "\n", | |
| "Rebecca Davies | University of Colorado Boulder | github: @beckymasond" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Motivation" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Sources of US Census Bureau data" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "There are a number of point-and-click sources:\n", | |
| "* [NHGIS](https://www.nhgis.org/) (National Historical Geographic Information System)\n", | |
| "* [Social Explorer](http://www.socialexplorer.com/)\n", | |
| "* [American Factfinder](http://factfinder.census.gov) from the US Census Bureau" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Accessing the API (using python)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Why this approach when there are all these nice websites?\n", | |
| "* Reproducible (data) science\n", | |
| "* Efficiency\n", | |
| "* One platform\n", | |
| "\n", | |
| "Tools\n", | |
| "* [US Census Bureau API](http://www.census.gov/developers/)\n", | |
| "* [Python](https://www.python.org/) \n", | |
| "* [Cenpy](https://github.com/ljwolf/cenpy) package to interface with the Census API\n", | |
| "* [GeoPandas](http://geopandas.org/) package to hold and plot data" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Installation\n", | |
| "\n", | |
| "I recommend installing [Canopy Python](https://www.enthought.com/products/canopy/) or [Anaconda Python](https://www.continuum.io/downloads). These come with the python programming language and many common libraries preinstalled. \n", | |
| "\n", | |
| "#### Cenpy\n", | |
| "* Dependencies\n", | |
| " * [Pandas](https://pandas.pydata.org/)\n", | |
| " * [Requests](https://docs.python-requests.org)\n", | |
| "* `pip install cenpy`\n", | |
| "\n", | |
| "#### GeoPandas\n", | |
| "* Dependencies\n", | |
| " * [Pandas](https://pandas.pydata.org/)\n", | |
| " * [Matplotlib](http://matplotlib.org/)\n", | |
| " * [Shapely](http://toblerity.org/shapely/)\n", | |
| " * [Fiona](http://toblerity.org/fiona/)\n", | |
| " * [Pyproj](https://github.com/jswhit/pyproj)\n", | |
| " * [Descartes](https://pypi.python.org/pypi/descartes)\n", | |
| " * [PySAL](http://pysal.org) (optional - needed for choropleth maps)\n", | |
| "* `pip install geopandas`\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "from matplotlib import rcParams\n", | |
| "rcParams['figure.figsize'] = 12,12 # change this line if you want to change the default map size\n", | |
| "import pandas as pd\n", | |
| "import geopandas as gpd\n", | |
| "import cenpy as cen" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Work Flow" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "1. Select database (ex. 2008-2012 ACS)\n", | |
| "2. Select geography(s) (ex. Leon County census tracts)\n", | |
| "3. Select attributes (ex. income and poverty)\n", | |
| "4. Pull down the data\n", | |
| "5. Pull down the geography\n", | |
| "6. Link the data to the geography" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### 1. Database\n", | |
| "\n", | |
| "The Census Bureau provides [many databases](http://www.census.gov/data/developers/data-sets.html) through their API, including the decennial census, economic census, etc." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "#### Explore database options" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "total number of databases: 85\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[(u'NONEMP2012_old', u'2012 Nonemployer Statistics: Nonemployer Statistics'),\n", | |
| " (u'ASMState',\n", | |
| " u'Time Series Annual Survey of Manufactures: Statistics for All Manufacturing by State'),\n", | |
| " (u'IDBSINGLEYEAR',\n", | |
| " u'Time Series International Database: International Populations by Single Year of Age and Sex'),\n", | |
| " (u'2012popproj/deaths',\n", | |
| " u'Vintage 2012 Population Projections - : Projected Deaths'),\n", | |
| " (u'NONEMP2009', u'2009 Nonemployer Statistics: Non Employer Statistics')]" | |
| ] | |
| }, | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "databases = [(k,v) for k,v in cen.explorer.available(verbose=True).items()]\n", | |
| "print 'total number of databases:', len(databases)\n", | |
| "databases[0:5]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "For this example we will use the 2008-2012 [American Community Survey](https://www.census.gov/programs-surveys/acs/)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#api_database = '2010acs5' # ACS 2006-2010\n", | |
| "api_database = 'ACSSF5Y2012' # ACS 2008-2012\n", | |
| "#api_database = 'ACSSF5Y2013' # ACS 2009-2013" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "{u'2008-2012 American Community Survey - Summarized Data: 5-Year Summary File': u\"The American Community Survey (ACS) is a nationwide survey designed to provide communities a fresh look at how they are changing. The ACS replaced the decennial census long form in 2010 and thereafter by collecting long form type information throughout the decade rather than only once every 10 years. Questionnaires are mailed to a sample of addresses to obtain information about households -- that is, about each person and the housing unit itself. The American Community Survey produces demographic, social, housing and economic estimates in the form of 1-year, 3-year and 5-year estimates based on population thresholds. The strength of the ACS is in estimating population and housing characteristics. It produces estimates for small areas, including census tracts and population subgroups. Although the ACS produces population, demographic and housing unit estimates,it is the Census Bureau's Population Estimates Program that produces and disseminates the official estimates of the population for the nation, states, counties, cities and towns, and estimates of housing units for states and counties. For 2010 and other decennial census years, the Decennial Census provides the official counts of population and housing units.\"}" | |
| ] | |
| }, | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "cen.explorer.explain(api_database)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "\n", | |
| "#### Connect to database" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "api_conn = cen.base.Connection(api_database)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Connection to 2008-2012 American Community Survey - Summarized Data: 5-Year Summary File (ID: http://api.census.gov/data/id/ACSSF5Y2012)" | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "api_conn" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### 2. Geography" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Data is provided at a variety of geographic scales, which depend on the database selected. For this example we're working with the ACS. Data for large geographies, like states, can be queried directly. But smaller geographies, like counties or census tracts, can only be selected by first choosing a bounding geography; this is sometimes referred to as *geo-in-geo*. " | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[u'fips']" | |
| ] | |
| }, | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "api_conn.geographies.keys()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>geoLevelId</th>\n", | |
| " <th>name</th>\n", | |
| " <th>optionalWithWCFor</th>\n", | |
| " <th>requires</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>310</td>\n", | |
| " <td>metropolitan statistical area/micropolitan sta...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>010</td>\n", | |
| " <td>us</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>020</td>\n", | |
| " <td>region</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>030</td>\n", | |
| " <td>division</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>400</td>\n", | |
| " <td>urban area</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>250</td>\n", | |
| " <td>american indian area/alaska native area/hawaii...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>330</td>\n", | |
| " <td>combined statistical area</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>350</td>\n", | |
| " <td>new england city and town area</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>040</td>\n", | |
| " <td>state</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>860</td>\n", | |
| " <td>zip code tabulation area</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>795</td>\n", | |
| " <td>public use microdata area</td>\n", | |
| " <td>state</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>950</td>\n", | |
| " <td>school district (elementary)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>960</td>\n", | |
| " <td>school district (secondary)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>970</td>\n", | |
| " <td>school district (unified)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>320</td>\n", | |
| " <td>metropolitan statistical area/micropolitan sta...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>340</td>\n", | |
| " <td>combined statistical area</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>500</td>\n", | |
| " <td>congressional district</td>\n", | |
| " <td>state</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>610</td>\n", | |
| " <td>state legislative district (upper chamber)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>620</td>\n", | |
| " <td>state legislative district (lower chamber)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>050</td>\n", | |
| " <td>county</td>\n", | |
| " <td>state</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>160</td>\n", | |
| " <td>place</td>\n", | |
| " <td>state</td>\n", | |
| " <td>[state]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>140</td>\n", | |
| " <td>tract</td>\n", | |
| " <td>county</td>\n", | |
| " <td>[state, county]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>060</td>\n", | |
| " <td>county subdivision</td>\n", | |
| " <td>county</td>\n", | |
| " <td>[state, county]</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>150</td>\n", | |
| " <td>block group</td>\n", | |
| " <td>tract</td>\n", | |
| " <td>[state, county, tract]</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " geoLevelId name \\\n", | |
| "0 310 metropolitan statistical area/micropolitan sta... \n", | |
| "1 010 us \n", | |
| "2 020 region \n", | |
| "3 030 division \n", | |
| "4 400 urban area \n", | |
| "5 250 american indian area/alaska native area/hawaii... \n", | |
| "6 330 combined statistical area \n", | |
| "7 350 new england city and town area \n", | |
| "8 040 state \n", | |
| "9 860 zip code tabulation area \n", | |
| "10 795 public use microdata area \n", | |
| "11 950 school district (elementary) \n", | |
| "12 960 school district (secondary) \n", | |
| "13 970 school district (unified) \n", | |
| "14 320 metropolitan statistical area/micropolitan sta... \n", | |
| "15 340 combined statistical area \n", | |
| "16 500 congressional district \n", | |
| "17 610 state legislative district (upper chamber) \n", | |
| "18 620 state legislative district (lower chamber) \n", | |
| "19 050 county \n", | |
| "20 160 place \n", | |
| "21 140 tract \n", | |
| "22 060 county subdivision \n", | |
| "23 150 block group \n", | |
| "\n", | |
| " optionalWithWCFor requires \n", | |
| "0 NaN NaN \n", | |
| "1 NaN NaN \n", | |
| "2 NaN NaN \n", | |
| "3 NaN NaN \n", | |
| "4 NaN NaN \n", | |
| "5 NaN NaN \n", | |
| "6 NaN NaN \n", | |
| "7 NaN NaN \n", | |
| "8 NaN NaN \n", | |
| "9 NaN NaN \n", | |
| "10 state [state] \n", | |
| "11 NaN [state] \n", | |
| "12 NaN [state] \n", | |
| "13 NaN [state] \n", | |
| "14 NaN [state] \n", | |
| "15 NaN [state] \n", | |
| "16 state [state] \n", | |
| "17 NaN [state] \n", | |
| "18 NaN [state] \n", | |
| "19 state [state] \n", | |
| "20 state [state] \n", | |
| "21 county [state, county] \n", | |
| "22 county [state, county] \n", | |
| "23 tract [state, county, tract] " | |
| ] | |
| }, | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "api_conn.geographies['fips']" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The geographic query requires selecting a spatial scale from the `name` column in the table above, and in some cases an encompassing geography, based on the rules in the `requires` column. In either case, [FIPS codes](http://mcdc.missouri.edu/webrepts/commoncodes11/) are used to pick specific geographies." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#### select all states in the country\n", | |
| "#g_unit = 'state'\n", | |
| "#g_filter = {}\n", | |
| "#### select Florida\n", | |
| "#g_unit = 'state:12'\n", | |
| "#g_filter = {}\n", | |
| "#### select all counties in Florida\n", | |
| "#g_unit = 'county'\n", | |
| "#g_filter = {'state':'12'}\n", | |
| "#### select all census tracts in Florida\n", | |
| "#g_unit = 'tract'\n", | |
| "#g_filter = {'state':'12'}\n", | |
| "#### select all tracts in Leon County, Florida\n", | |
| "g_unit = 'tract'\n", | |
| "g_filter = {'state':'12', 'county':'073'}" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### 3. Attributes" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Attributes represent the demographic or economic characteristics that you wish to download." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "#### Select attributes" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Attributes in the ACS: 45236\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>concept</th>\n", | |
| " <th>label</th>\n", | |
| " <th>predicateOnly</th>\n", | |
| " <th>predicateType</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>AIANHH</th>\n", | |
| " <td>Selectable Geographies</td>\n", | |
| " <td>American Indian Area/Alaska Native Area/Hawaii...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>AIHHTLI</th>\n", | |
| " <td>Selectable Geographies</td>\n", | |
| " <td>American Indian Trust Land/Hawaiian Home Land ...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>int</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>AITS</th>\n", | |
| " <td>Selectable Geographies</td>\n", | |
| " <td>American Indian Tribal Subdivision (FIPS)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>AITSCE</th>\n", | |
| " <td>Selectable Geographies</td>\n", | |
| " <td>American Indian Tribal Subdivision (Census)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>int</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>ANRC</th>\n", | |
| " <td>Selectable Geographies</td>\n", | |
| " <td>Alaska Native Regional Corporation (FIPS)</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B00001_001E</th>\n", | |
| " <td>B00001. Unweighted Sample Count of the Popula...</td>\n", | |
| " <td>Total</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>int</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B00001_001M</th>\n", | |
| " <td>B00001. Unweighted Sample Count of the Popula...</td>\n", | |
| " <td>Margin Of Error For!!Total</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>int</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B00002_001E</th>\n", | |
| " <td>B00002. Unweighted Sample Housing Units</td>\n", | |
| " <td>Total</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>int</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B00002_001M</th>\n", | |
| " <td>B00002. Unweighted Sample Housing Units</td>\n", | |
| " <td>Margin Of Error For!!Total</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>int</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B01001A_001E</th>\n", | |
| " <td>B01001A. SEX BY AGE (WHITE ALONE)</td>\n", | |
| " <td>Total:</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>int</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " concept \\\n", | |
| "AIANHH Selectable Geographies \n", | |
| "AIHHTLI Selectable Geographies \n", | |
| "AITS Selectable Geographies \n", | |
| "AITSCE Selectable Geographies \n", | |
| "ANRC Selectable Geographies \n", | |
| "B00001_001E B00001. Unweighted Sample Count of the Popula... \n", | |
| "B00001_001M B00001. Unweighted Sample Count of the Popula... \n", | |
| "B00002_001E B00002. Unweighted Sample Housing Units \n", | |
| "B00002_001M B00002. Unweighted Sample Housing Units \n", | |
| "B01001A_001E B01001A. SEX BY AGE (WHITE ALONE) \n", | |
| "\n", | |
| " label predicateOnly \\\n", | |
| "AIANHH American Indian Area/Alaska Native Area/Hawaii... NaN \n", | |
| "AIHHTLI American Indian Trust Land/Hawaiian Home Land ... NaN \n", | |
| "AITS American Indian Tribal Subdivision (FIPS) NaN \n", | |
| "AITSCE American Indian Tribal Subdivision (Census) NaN \n", | |
| "ANRC Alaska Native Regional Corporation (FIPS) NaN \n", | |
| "B00001_001E Total NaN \n", | |
| "B00001_001M Margin Of Error For!!Total NaN \n", | |
| "B00002_001E Total NaN \n", | |
| "B00002_001M Margin Of Error For!!Total NaN \n", | |
| "B01001A_001E Total: NaN \n", | |
| "\n", | |
| " predicateType \n", | |
| "AIANHH NaN \n", | |
| "AIHHTLI int \n", | |
| "AITS NaN \n", | |
| "AITSCE int \n", | |
| "ANRC NaN \n", | |
| "B00001_001E int \n", | |
| "B00001_001M int \n", | |
| "B00002_001E int \n", | |
| "B00002_001M int \n", | |
| "B01001A_001E int " | |
| ] | |
| }, | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "print 'Attributes in the ACS:', api_conn.variables.shape[0]\n", | |
| "api_conn.variables.head(10)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Cenpy passes column names the Census API. Therefore, one option is to build a list of column codes. A good resource for these codes is [Social Explorer](http://www.socialexplorer.com/). For example, here is the info for [ACS 2008-2012 5 year tables](http://www.socialexplorer.com/data/ACS2012_5yr/metadata/?ds=ACS12_5yr)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#### total number of children in poverty\n", | |
| "#cols = ['B17006_002E']\n", | |
| "#### total number of children in poverty and number of children in pov in female headed households\n", | |
| "#cols = ['B17006_002E', 'B17006_012E']" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "An alternative approach for building the list of column names is to use [regular expressions](https://en.wikipedia.org/wiki/Regular_expression). This approach is handy when you want all the columns from a particular table." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#### all the columns for table B17006 (poverty status for children by family type)\n", | |
| "#cols = api_conn.varslike('B17006_\\S+')\n", | |
| "#### all the columns for table B17006 and table B19326 (median income by gender and employment)\n", | |
| "cols = api_conn.varslike('B17006_\\S+')\n", | |
| "cols.extend(api_conn.varslike('B19326_\\S+'))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "72" | |
| ] | |
| }, | |
| "execution_count": 13, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "len(cols)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "You can get a text description of each variable. Some descriptions are more useful than others." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>label</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>B17006_001E</th>\n", | |
| " <td>Total:</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B17006_001M</th>\n", | |
| " <td>Margin Of Error For!!Total:</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B17006_002E</th>\n", | |
| " <td>Income in the past 12 months below poverty level:</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B17006_002M</th>\n", | |
| " <td>Margin Of Error For!!Income in the past 12 mon...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>B17006_003E</th>\n", | |
| " <td>Income in the past 12 months below poverty lev...</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " label\n", | |
| "B17006_001E Total:\n", | |
| "B17006_001M Margin Of Error For!!Total:\n", | |
| "B17006_002E Income in the past 12 months below poverty level:\n", | |
| "B17006_002M Margin Of Error For!!Income in the past 12 mon...\n", | |
| "B17006_003E Income in the past 12 months below poverty lev..." | |
| ] | |
| }, | |
| "execution_count": 14, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "cols_detail = pd.DataFrame(api_conn.variables.ix[cols].label)\n", | |
| "cols_detail.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Note that each estimate in the ACS comes with an accompanying margin of error (MOE). Column headers ending in `E` contain estimates, and headers ending in `M` contain MOEs." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "#### Geographic attributes" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "In addition to the socioeconomic attributes, by default you will also get columns representing the `geo_unit` and `geo_filter`, which contain FIPS codes. We recommend adding the `NAME` and `GEOID` columns to get the geographies' text names and the full FIPS code in one cell." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "cols.extend(['NAME', 'GEOID'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### 4. Pull the data" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "With all the pieces in hand, we can now pull the data from the API." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 18, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "data = api_conn.query(cols, geo_unit=g_unit, geo_filter=g_filter)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 19, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(68, 77)" | |
| ] | |
| }, | |
| "execution_count": 19, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "data.shape" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "It is often useful to make the pandas DataFrame index the full FIPS code. The effect is that any selection from the DataFrame will be accompanied by the Census ID." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 20, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "data.index = data.GEOID\n", | |
| "data.index = data.index.str.replace('14000US','')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "We can view all the columns, and then select one." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Index([u'B17006_001E', u'B17006_001M', u'B17006_002E', u'B17006_002M',\n", | |
| " u'B17006_003E', u'B17006_003M', u'B17006_004E', u'B17006_004M',\n", | |
| " u'B17006_005E', u'B17006_005M', u'B17006_006E', u'B17006_006M',\n", | |
| " u'B17006_007E', u'B17006_007M', u'B17006_008E', u'B17006_008M',\n", | |
| " u'B17006_009E', u'B17006_009M', u'B17006_010E', u'B17006_010M',\n", | |
| " u'B17006_011E', u'B17006_011M', u'B17006_012E', u'B17006_012M',\n", | |
| " u'B17006_013E', u'B17006_013M', u'B17006_014E', u'B17006_014M',\n", | |
| " u'B17006_015E', u'B17006_015M', u'B17006_016E', u'B17006_016M',\n", | |
| " u'B17006_017E', u'B17006_017M', u'B17006_018E', u'B17006_018M',\n", | |
| " u'B17006_019E', u'state', u'county', u'tract', u'B17006_019M',\n", | |
| " u'B17006_020E', u'B17006_020M', u'B17006_021E', u'B17006_021M',\n", | |
| " u'B17006_022E', u'B17006_022M', u'B17006_023E', u'B17006_023M',\n", | |
| " u'B17006_024E', u'B17006_024M', u'B17006_025E', u'B17006_025M',\n", | |
| " u'B17006_026E', u'B17006_026M', u'B17006_027E', u'B17006_027M',\n", | |
| " u'B17006_028E', u'B17006_028M', u'B17006_029E', u'B17006_029M',\n", | |
| " u'B19326_001E', u'B19326_001M', u'B19326_002E', u'B19326_002M',\n", | |
| " u'B19326_003E', u'B19326_003M', u'B19326_004E', u'B19326_004M',\n", | |
| " u'B19326_005E', u'B19326_005M', u'B19326_006E', u'B19326_006M',\n", | |
| " u'B19326_007E', u'B19326_007M', u'NAME', u'GEOID'],\n", | |
| " dtype='object')" | |
| ] | |
| }, | |
| "execution_count": 21, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "data.columns" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>B17006_012E</th>\n", | |
| " <th>B17006_012M</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>GEOID</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>12073000200</th>\n", | |
| " <td>107</td>\n", | |
| " <td>109</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000301</th>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000302</th>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000303</th>\n", | |
| " <td>147</td>\n", | |
| " <td>97</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000400</th>\n", | |
| " <td>28</td>\n", | |
| " <td>26</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000500</th>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000600</th>\n", | |
| " <td>139</td>\n", | |
| " <td>129</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000700</th>\n", | |
| " <td>107</td>\n", | |
| " <td>96</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000800</th>\n", | |
| " <td>54</td>\n", | |
| " <td>61</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12073000901</th>\n", | |
| " <td>154</td>\n", | |
| " <td>198</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " B17006_012E B17006_012M\n", | |
| "GEOID \n", | |
| "12073000200 107 109\n", | |
| "12073000301 0 14\n", | |
| "12073000302 0 14\n", | |
| "12073000303 147 97\n", | |
| "12073000400 28 26\n", | |
| "12073000500 0 14\n", | |
| "12073000600 139 129\n", | |
| "12073000700 107 96\n", | |
| "12073000800 54 61\n", | |
| "12073000901 154 198" | |
| ] | |
| }, | |
| "execution_count": 22, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "#### select the count of number of children in poverty, and its MOE\n", | |
| "data[['B17006_012E','B17006_012M']].head(10)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "As an aside, you might notice that the quality of this particular estimate is not very good." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### 5. Pull down the geometry" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The Census Bureau API for extracting geometries is separate from the database API." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "We can view all the available geographic data." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[{u'name': u'AIANNHA', u'type': u'MapServer'},\n", | |
| " {u'name': u'CBSA', u'type': u'MapServer'},\n", | |
| " {u'name': u'Hydro_LargeScale', u'type': u'MapServer'},\n", | |
| " {u'name': u'Hydro', u'type': u'MapServer'},\n", | |
| " {u'name': u'Labels', u'type': u'MapServer'},\n", | |
| " {u'name': u'Legislative', u'type': u'MapServer'},\n", | |
| " {u'name': u'Places_CouSub_ConCity_SubMCD', u'type': u'MapServer'},\n", | |
| " {u'name': u'PUMA_TAD_TAZ_UGA_ZCTA', u'type': u'MapServer'},\n", | |
| " {u'name': u'Region_Division', u'type': u'MapServer'},\n", | |
| " {u'name': u'School', u'type': u'MapServer'},\n", | |
| " {u'name': u'Special_Land_Use_Areas', u'type': u'MapServer'},\n", | |
| " {u'name': u'State_County', u'type': u'MapServer'},\n", | |
| " {u'name': u'tigerWMS_ACS2013', u'type': u'MapServer'},\n", | |
| " {u'name': u'tigerWMS_ACS2014', u'type': u'MapServer'},\n", | |
| " {u'name': u'tigerWMS_ACS2015', u'type': u'MapServer'},\n", | |
| " {u'name': u'tigerWMS_Census2010', u'type': u'MapServer'},\n", | |
| " {u'name': u'tigerWMS_Current', u'type': u'MapServer'},\n", | |
| " {u'name': u'tigerWMS_Econ2012', u'type': u'MapServer'},\n", | |
| " {u'name': u'tigerWMS_PhysicalFeatures', u'type': u'MapServer'},\n", | |
| " {u'name': u'Tracts_Blocks', u'type': u'MapServer'},\n", | |
| " {u'name': u'Transportation_LargeScale', u'type': u'MapServer'},\n", | |
| " {u'name': u'Transportation', u'type': u'MapServer'},\n", | |
| " {u'name': u'TribalTracts', u'type': u'MapServer'},\n", | |
| " {u'name': u'Urban', u'type': u'MapServer'},\n", | |
| " {u'name': u'USLandmass', u'type': u'MapServer'}]" | |
| ] | |
| }, | |
| "execution_count": 23, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "cen.tiger.available()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Like before, we need to make a connection to the API. In this case there is a `set_mapservice` method that will attached this second connection to the first. Since we are working with ACS data, we will connect to the ACS geometry data." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 24, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Connection to 2008-2012 American Community Survey - Summarized Data: 5-Year Summary File(ID: http://api.census.gov/data/id/ACSSF5Y2012)\n", | |
| "With MapServer: Census ACS 2013 WMS" | |
| ] | |
| }, | |
| "execution_count": 24, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "api_conn.set_mapservice('tigerWMS_ACS2013')\n", | |
| "api_conn" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The ACS produces estimates from many different geographies." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 25, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "{0: (ESRILayer) 2010 Census Public Use Microdata Areas,\n", | |
| " 1: (ESRILayer) 2010 Census Public Use Microdata Areas Labels,\n", | |
| " 2: (ESRILayer) 2010 Census ZIP Code Tabulation Areas,\n", | |
| " 3: (ESRILayer) 2010 Census ZIP Code Tabulation Areas Labels,\n", | |
| " 4: (ESRILayer) Tribal Census Tracts,\n", | |
| " 5: (ESRILayer) Tribal Census Tracts Labels,\n", | |
| " 6: (ESRILayer) Tribal Block Groups,\n", | |
| " 7: (ESRILayer) Tribal Block Groups Labels,\n", | |
| " 8: (ESRILayer) Census Tracts,\n", | |
| " 9: (ESRILayer) Census Tracts Labels,\n", | |
| " 10: (ESRILayer) Census Block Groups,\n", | |
| " 11: (ESRILayer) Census Block Groups Labels,\n", | |
| " 12: (ESRILayer) Unified School Districts,\n", | |
| " 13: (ESRILayer) Unified School Districts Labels,\n", | |
| " 14: (ESRILayer) Secondary School Districts,\n", | |
| " 15: (ESRILayer) Secondary School Districts Labels,\n", | |
| " 16: (ESRILayer) Elementary School Districts,\n", | |
| " 17: (ESRILayer) Elementary School Districts Labels,\n", | |
| " 18: (ESRILayer) Estates,\n", | |
| " 19: (ESRILayer) Estates Labels,\n", | |
| " 20: (ESRILayer) County Subdivisions,\n", | |
| " 21: (ESRILayer) County Subdivisions Labels,\n", | |
| " 22: (ESRILayer) Subbarrios,\n", | |
| " 23: (ESRILayer) Subbarrios Labels,\n", | |
| " 24: (ESRILayer) Consolidated Cities,\n", | |
| " 25: (ESRILayer) Consolidated Cities Labels,\n", | |
| " 26: (ESRILayer) Incorporated Places,\n", | |
| " 27: (ESRILayer) Incorporated Places Labels,\n", | |
| " 28: (ESRILayer) Census Designated Places,\n", | |
| " 29: (ESRILayer) Census Designated Places Labels,\n", | |
| " 30: (ESRILayer) Alaska Native Regional Corporations,\n", | |
| " 31: (ESRILayer) Alaska Native Regional Corporations Labels,\n", | |
| " 32: (ESRILayer) Tribal Subdivisions,\n", | |
| " 33: (ESRILayer) Tribal Subdivisions Labels,\n", | |
| " 34: (ESRILayer) Federal American Indian Reservations,\n", | |
| " 35: (ESRILayer) Federal American Indian Reservations Labels,\n", | |
| " 36: (ESRILayer) Off-Reservation Trust Lands,\n", | |
| " 37: (ESRILayer) Off-Reservation Trust Lands Labels,\n", | |
| " 38: (ESRILayer) State American Indian Reservations,\n", | |
| " 39: (ESRILayer) State American Indian Reservations Labels,\n", | |
| " 40: (ESRILayer) Hawaiian Home Lands,\n", | |
| " 41: (ESRILayer) Hawaiian Home Lands Labels,\n", | |
| " 42: (ESRILayer) Alaska Native Village Statistical Areas,\n", | |
| " 43: (ESRILayer) Alaska Native Village Statistical Areas Labels,\n", | |
| " 44: (ESRILayer) Oklahoma Tribal Statistical Areas,\n", | |
| " 45: (ESRILayer) Oklahoma Tribal Statistical Areas Labels,\n", | |
| " 46: (ESRILayer) State Designated Tribal Statistical Areas,\n", | |
| " 47: (ESRILayer) State Designated Tribal Statistical Areas Labels,\n", | |
| " 48: (ESRILayer) Tribal Designated Statistical Areas,\n", | |
| " 49: (ESRILayer) Tribal Designated Statistical Areas Labels,\n", | |
| " 50: (ESRILayer) American Indian Joint-Use Areas,\n", | |
| " 51: (ESRILayer) American Indian Joint-Use Areas Labels,\n", | |
| " 52: (ESRILayer) 113th Congressional Districts,\n", | |
| " 53: (ESRILayer) 113th Congressional Districts Labels,\n", | |
| " 54: (ESRILayer) 2013 State Legislative Districts - Upper,\n", | |
| " 55: (ESRILayer) 2013 State Legislative Districts - Upper Labels,\n", | |
| " 56: (ESRILayer) 2013 State Legislative Districts - Lower,\n", | |
| " 57: (ESRILayer) 2013 State Legislative Districts - Lower Labels,\n", | |
| " 58: (ESRILayer) Census Divisions,\n", | |
| " 59: (ESRILayer) Census Divisions Labels,\n", | |
| " 60: (ESRILayer) Census Regions,\n", | |
| " 61: (ESRILayer) Census Regions Labels,\n", | |
| " 62: (ESRILayer) 2010 Census Urbanized Areas,\n", | |
| " 63: (ESRILayer) 2010 Census Urbanized Areas Labels,\n", | |
| " 64: (ESRILayer) 2010 Census Urban Clusters,\n", | |
| " 65: (ESRILayer) 2010 Census Urban Clusters Labels,\n", | |
| " 66: (ESRILayer) Combined New England City and Town Areas,\n", | |
| " 67: (ESRILayer) Combined New England City and Town Areas Labels,\n", | |
| " 68: (ESRILayer) New England City and Town Area Divisions,\n", | |
| " 69: (ESRILayer) New England City and Town Area Divisions Labels,\n", | |
| " 70: (ESRILayer) Metropolitan New England City and Town Areas,\n", | |
| " 71: (ESRILayer) Metropolitan New England City and Town Areas Labels,\n", | |
| " 72: (ESRILayer) Micropolitan New England City and Town Areas,\n", | |
| " 73: (ESRILayer) Micropolitan New England City and Town Areas Labels,\n", | |
| " 74: (ESRILayer) Combined Statistical Areas,\n", | |
| " 75: (ESRILayer) Combined Statistical Areas Labels,\n", | |
| " 76: (ESRILayer) Metropolitan Divisions,\n", | |
| " 77: (ESRILayer) Metropolitan Divisions Labels,\n", | |
| " 78: (ESRILayer) Metropolitan Statistical Areas,\n", | |
| " 79: (ESRILayer) Metropolitan Statistical Areas Labels,\n", | |
| " 80: (ESRILayer) Micropolitan Statistical Areas,\n", | |
| " 81: (ESRILayer) Micropolitan Statistical Areas Labels,\n", | |
| " 82: (ESRILayer) States,\n", | |
| " 83: (ESRILayer) States Labels,\n", | |
| " 84: (ESRILayer) Counties,\n", | |
| " 85: (ESRILayer) Counties Labels}" | |
| ] | |
| }, | |
| "execution_count": 25, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "api_conn.mapservice.layers" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "We are working with census tracts." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 26, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(ESRILayer) Census Tracts" | |
| ] | |
| }, | |
| "execution_count": 26, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "api_conn.mapservice.layers[8]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Similar to setting the geographic constraints when pulling attribute data, you need to select the spatial scale and a bounding geography. However, these are selected entirely differently for the geometry data. The scale is set by passing an integer to the `layer` argument, and the bounding geography is selected by passing SQL to the WHERE argument." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#### select Florida\n", | |
| "#geodata = api_conn.mapservice.query(layer=82, where='STATE=12', pkg='geopandas')\n", | |
| "#### select all counties in Florida\n", | |
| "#geodata = api_conn.mapservice.query(layer=84, where='STATE=12', pkg='geopandas')\n", | |
| "#### select all census tracts in Florida\n", | |
| "#geodata = api_conn.mapservice.query(layer=8, where='STATE=12', pkg='geopandas')\n", | |
| "#### select all tracts in Leon County, Florida\n", | |
| "geodata = api_conn.mapservice.query(layer=8, where='STATE=12 and COUNTY=073', pkg='geopandas')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### 6. Merge attributes and geometries" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "We now have all the pieces to merge the attribute data to the geometries." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "newdata = pd.merge(data, geodata, left_index=True, right_on='GEOID')\n", | |
| "newdata = gpd.GeoDataFrame(newdata)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "We will plot median household income for Leon County, Florida." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x1107e0cd0>" | |
| ] | |
| }, | |
| "execution_count": 29, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvQAAAH2CAYAAAAf/BiAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FNX+x/H32ZLeSQi9owKCNEXEQlFRUBTFjlgQC4pi\nuWK5ilh/VuwVlGIBRFSsWBEsiGABpVpooZNedrObnd8fWbhcL5IAu5nd5PN6nn1YZ2fO+YQE850z\nZ84Yy7IQEREREZHo5LA7gIiIiIiI7D8V9CIiIiIiUUwFvYiIiIhIFFNBLyIiIiISxVTQi4iIiIhE\nMRX0IiIiIiJRbK8FvTEmzhjzvTHmZ2PMMmPMA7t9NsoYs9wY86sx5sHdtt9qjFltjFlhjDlxt+3d\njDFLg589sdv2WGPM9OD2BcaY5rt9dpExZlXwNWy37S2DuVYbY6YZY9yh+MsQEREREYk2ey3oLcvy\nAH0sy+oMdAL6GGOONsb0AQYBnSzLOhR4BMAY0x44B2gPnAQ8a4wxweaeA4ZbltUWaGuMOSm4fTiw\nI7h9PPBgsK0M4E7giOBrrDEmNXjMg8CjwWPygm2IiIiIiNQ5VU65sSyrNPg2BnBSWUBfCTxgWZYv\nuM+24D6nAW9YluWzLGsN8DvQwxjTEEi2LGthcL8pwOnB94OAycH3bwH9gu/7A59YlpVvWVY+8Clw\ncvAEoQ8wM7jf5N3aEhERERGpU6os6I0xDmPMz8AW4EvLsn4DDgKODU6RmWuM6R7cvRGwYbfDNwCN\n97A9J7id4J/rASzL8gMFxph6e2krA8i3LCuwh7ZEREREROoUV1U7BAvnzsHpLnOMMb2Dx6VblnWk\nMeZwYAbQKqxJg3FqoA8RERERkahRZUG/k2VZBcaYD4DuVI6Wzwpu/8EYEzDGZFI5Wt50t8OaBPfN\nCb7/+3aCnzUDNhpjXECqZVk7jDE5QO/djmkKfAHkAmnGGEfwZKNJsI3/YoxR8S8iIiIiNcKyLFP1\nXuFR1So3mcaYtOD7eOAE4CfgHaBvcPtBQIxlWduB2cC5xpgYY0xLoC2w0LKszUChMaZHcA78hcC7\nwW5mAxcF3w8BPg++/wQ40RiTZoxJD/Y9x7IsC/gSOCu430XBPP/Dsiy99Pqv19ixY23PoFfkvfRz\nodeeXvq50GtPL/1c6LWnl92qGqFvCEw2xjioLP6nWpb1uTFmHvCyMWYpUA4MA7Asa5kxZgawDPAD\nI63/fJUjgUlAPPChZVkfB7dPBKYaY1YDO4Bzg23lGmPuAX4I7jfOqrw5FmAMMM0Ycy/wY7ANERER\nEZE6Z68FvWVZS4Gue9juo3KUfU/H3A/cv4fti4GOe9juBc7+h7ZeAV7Zw/a/gB57yy4iIiIiUhfo\nSbFSp/Tu3dvuCBKB9HMhe6KfC9kT/VxIJDKRMO8nHIwxVm392kREREQkchhjsCL1plgREREREYls\nKuhFRERERKKYCnoRERERkSimgl5EREREJIqpoBcRERERiWIq6EVEREREopgKehERERGRKKaCXkRE\nREQkiqmgFxERERGJYiroRURERESimAp6EREREZEopoJeRERERCSKqaAXEREREYliKuhFRERERKKY\nCnoRERERkSimgl5EREREJIqpoBcRERERiWIq6EVEREREopgKehERERGRKKaCXkREREQkiqmgFxER\nERGJYiroRURERESimAp6EREREZEopoJeRERERCSKqaAXEREREYliKuhFRERERKKYCnoRERERkSim\ngl5EREREJIqpoBcRERERiWIq6EVEREREopgKehERERGRKKaCXkREREQkiqmgFxERERGJYiroRURE\nRESimAp6EREREZEopoJeRERERCSKqaAXEREREYliKuhFRERERKKYCnoRERERkSimgl5EREREJIqp\noBcRERERiWIq6EVEREREopgKehERERGRKKaCXkREREQkiqmgFxERERGJYiroRURERESimAp6ERER\nEZEo5rI7gIiISCgtW7aMQCDAxx9/zMqVK0lOTiYxMZGkpCSSk5P/65WSkkJqauquV2xsLMYYu78E\nEZF9YizLsjtDWBhjrNr6tYmIyH888cQT+P1+3nnrLVb9/jtbt20jIT4eKxDg+A6H4KmowOPz4/H5\ngi8/5T4/Xr8Pr89Huc9Pud+Hz1+B2+XC7XIRE+MmNiaG2JhY4uLiiIuLIz4+nuWrVtGiRQvatGlD\nSmrqrhOC9PR00tPTqVevHhkZGWRmZpKVlUVaWhoOhy6Gi9R2xhgsy7JtNEAFvYiIRI28vDzS09N3\n/feGDRto2aIFDoeD2Lg4ioqKaFE/i77tDqZFVj2u7HtctdsOBAKUesspKCujoMxDkaeMwjIPxWUe\n8ktLueOt2ZT7/ZzX7yhSkhMpKfNSVOal2OOhqNRLicdDSZmXMo+XMq8Xj7ccn99PbGwM8XFxxMfF\n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\nnkc6nSaV8vC8FOBYWlqKn/Grj6sRR/ZxdQlX9nWt6TFwDt/3SaVSpNOp6DFNcVERQeAoq8hw3cNP\nccmJR9T6HFLYNORGkkAJfYHbfvvtefBu3dK+LrgoycgmB4FzOBf2QmaCgEo/IAh8Knwf33dkXNTj\nGQRRshkmir4fVO9zjowfJn5+lEgGQUBlEOD7flXymQnC43wXhI9ViWmUxEbHZhPETFXCGBAAfhS7\nnxN3kLMdVJWv/Fj1Gl0QHROstL1S/cAR4Krfp5x91XWDqudetY7DEZ7HUX3MKnWyn0EQrJSoVffM\nWnViu4YyzzPMvOqynO3svmxvrudlj/eqeqVL2m1KqmkzPpv/DVdPep7mTZvipVJRMpztvfZIpVLh\neT0L17Plnle1nj2356XwomTVS3vR+QzPi5LIGr3Mu3bbjjOG9+aUU06pKpc1W6l9Zv+fRF/galsg\n7N0vLi6u6tlPpcLPI2vIkGOZ/dWCWF6PxM/TLDeSAEroC9g5Z5/NTX/9Kzt07sgtL76S7YrCqO5P\ny3ZauaqusbAsp5+rqg5AmB5md6x6nqpz1Syr0TuWmxhXJW8rJXHZ7epetiDbE5hbt0bi56hOFpeW\nl7O0rJzlZWVVCXW2dzTb81rVA5rTQ1qdyIY9o9le0SCokQjk/NLPJou5yVZuT2f2z/1VZV6KlJdb\nXp38ZXsks9vZ3kgv5ZFOVfdOpqKeylSqUVivajtdtV0U9STmnj+VTTqj7bDHM7VKHNmyVM45apbV\ntp2b7NQ8X+5S27lzt3PPV/PcNeNRIivrKvuFDlgpKf85+vcfwL3j/1Yn55L8Y2jIjcRPCX2B+vbb\nb5k7Zw7t2rSh2WYdmDzva6r+EB7+bT6b31fxqpKi6l94VD1YjfXqA22161T9yT88pPr82bpmVhWL\neQZEvaPRes0e1rCel3OMVz0W2MvtbfXo1KoVO226Ka1ataJp06YUFRVRVFREcXHxKuupVIqioiLS\n6fQqj+l0muLi4qr12hJMJZQiDddee+3FyMs0C1BDFQ55U0Iv8VJCX6Dat2/P088+G3cYIiIFr1ev\nXpRXVvL5/G/o2lHTAzc06tCRJNC0lSIiIj+D53ls1aULU6Z+HHcoEgcl9JIASuhFRER+pm2334H3\nPp4TdxgSA0NDbiR+SuhFRER+pr59+/LhF1/FHYaINFBK6EVERH6mvfbaiznzvo47DImDbiwlCaCE\nXkRE5Gfq168fy1as4OtFP8QditQzjaCXJFBCLyIi8jOl02m26NSJKf/RhbENj3roJX5K6EVEROpA\nz2225Z2PZscdhtQzz8D3/bjDkAZOCb2IiEgd2LlvX6bPnRd3GFLPUp4poZfYrTGhN7PGZvaumU0z\ns0/M7M9R+Sgz+8rMpkbL/jWO28LMlpvZ8Jyync1shpnNNrMbc8obmdnEqPwdM+uSs2+omX0WLSfk\nlG8VxTXbzCaYWVFdvBkiIiIbao899mD2vAVxhyH1LK2EXhJgjQm9c64M2Ns51xvoBextZrsDDviL\nc65PtEyucehfgGdqlN0KnOyc2xrYOudLwMnAoqj8BuAaADNrDVwO9I+WkWZWEh1zDXB9dMzi6Bwi\nIiKx2W233Vi0pJTFpcviDkXqk2a5kQRY65Ab59yKaLUYSBEm0LCaC7vN7DDgc+CTnLIOwCbOufei\novuAw6L1Q4B7o/XHgH2j9f2AF5xzS5xzS4AXgV9ZeI/lvYFHo3r35pxLREQkFo0bN6bDZu15ddrM\nuEMRkQZmrQm9mXlmNg34FnjFOZe9hP8sM5tuZneaWcuobnNgBDCqxmk6Arl33JgflWX3zQNwzmWA\npWbWBti8xjFfRXVbA0ucc0Et5xIREYlNz57b8NaMWXGHIfUo7GcUide69NAH0ZCbTsCeZjaQcPjM\nVkBv4Gvg+qj6KOCGqFd/Y7Rw/U1LREQSa6e+fZk2539xhyH1TENuJG7pda3onFtqZs8AfZ1zU7Ll\nZnYH8FS02R8YbGbXAi2BwMx+Ah4n/EKQ1Ynq3vf5wBbAAjNLAyXOuUVmNh8YmHNMZ+Bl4AegpZl5\nUS99p+gcqxg1alTV+sCBAxk4cGBt1UREROrEbrvtxgP33BV3GFKPTGPoG6QpU6YwZcqUuMOoYmtq\nhGbWFsg455aYWRPgeWA08LFz7puozh+Bfs65Y2scOxJY5pz7S7T9LnA28B7hBbM3Oecmm9mZwA7O\nuTPM7GjgMOfc0dFFsf8GdiLs7f8A2CmKZRLwmHNuopndBkxzzt1W4/md/oOJiEh9Ki0tpW2bNix6\n7m6aNW0cdzhSD06/ZjylTdowYcKEuEORGEVf7GIbf7W2ITcdgJejMfTvAk85514CrjWzD81sOrAX\n8Md1eK4zgTuA2cCcnJlx7gTamNls4FzgQgDn3A/AGOB9wi8Bo6OLYwEuAIZFx7SKziEiIhKrFi1a\n0K5tG97UOPqGQ0PoJQHWOOTGOTeDsIe8ZvkJtVSvWWd0je0PgB1qqVcOHLmac9wN3F1L+RfAgLXF\nICIiUt969OjBGx/OYtCA3nGHIvXA05AbSQDdKVZERKQO9erdh2mzdWFsw2EEQbD2aiIbkRJ6ERGR\nOrTzzjszZ8G3cYch9cQzzXIj8VNCLyIiUod22WUXFiz8Pu4wpJ54nqceeondOk9bKSIiImvXvXt3\nAgdNBh6LmeGZYWaYFz6mPC9cUh4pLxU+psKydCpFKpUiHW0XpcL9RakU6ajcAX4QEAQBQeDwA0fg\nApxzVec2z1hRVo4fuPC5o9g8z8hexZktt2x8ZpjlbNfcV7Udjhv3otcDVL9GLHqOnLKoflHKwzOq\n6hiGeeF21XNH69lzezWeP+wHd9H75JGO3r90KoVFFRyE60Sv21bzWnO3yXntgB+9n37gCAIXvtcu\nWnc5770LeG/mHDbferuN37BE1kAJvYiISB3yPI9vFy5k+fLllJeX41yYEDrn8H2f8vJyMpkM5eXl\nVFRUUF5eTmVl5SrbFRUVKy2ZTIaKiorwS0E28U+n8TyPdDqNmeH7PpWVlQRBQElJCel0Gudc1QKs\ntJ6NK4i+IGT35a7X3A6CAN/3q46peR4A3/dXqp/JZKqOyb4PQY0YwiUAR1UC7QIf57uorsMsHFjg\nl2XwMxX4fgbfDwj8TPSaLMzmHTgcOBd+Ccg+kn0eVnp9K703EH4pMsPzPLxofaXt6NEzj3ZdunPw\nwQfXS9sSWZ01zkOfzzQPvYiIiIjUh6TPQy8iIiIiIgmmhF5EREREJI8poRcRERERyWNK6EVERERE\n8pgSehERERGRPKaEXkREREQkjymhFxERERHJY0roRURERETymBJ6EREREZE8poReRERERCSPKaEX\nEREREcljSuhFRERERPKYEnoRERERkTymhF5EREREJI8poRcRERERyWNK6EVERERE8pgSehERERGR\nPKaEXkREREQkjymhFxERERHJY0roRURERETymBJ6EREREZE8poReRERERCSPKaEXEREREcljSuhF\nRERERPKYEnoRERERkTymhF5EREREJI8poRcRERERyWNK6EVERERE8pgSehERERGRPKaEXkREREQk\njymhFxERERHJY0roRURERETymBJ6EREREZE8poReRERERCSPKaEXEREREcljSuhFRERERPKYEnoR\n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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1107e0910>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "newdata.plot(column='B19326_001E', scheme='QUANTILES', k=5, colormap='OrRd')" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 2", | |
| "language": "python", | |
| "name": "python2" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 2 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython2", | |
| "version": "2.7.6" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment