Skip to main content

Explore and download data from Census APIs

Project description

https://travis-ci.org/ljwolf/cenpy.svg?branch=master https://img.shields.io/pypi/dm/cenpy.svg https://zenodo.org/badge/36956226.svg

An interface to explore and query the US Census API and return Pandas Dataframes. Ideally, this package is intended for exploratory data analysis and draws inspiration from sqlalchemy-like interfaces and acs.R.

An intro notebook is available.

Also, a great example on how to grab work with cenpy, moving from nothing to data to map, is here, by @dfolch.

Installation

This package depends on Pandas and requests. You can install cenpy and other dependencies using pip:

pip install cenpy

If you do not have pip, simply copy the module somewhere in your python path.

Usage

Once done, importing cenpy will provide the explorer and base modules. To create a connection:

cxn = cenpy.base.Connection('2010sf1')

Check the variables required and geographies supported:

cxn.variables #is a pandas dataframe containing query-able vbls
cxn.geographies #is a pandas dataframe containing query-able geographies

Note that some geographies (like tract) have higher-level requirements that you’ll have to specify for the query to work.

The structure of the query function maps to the Census API’s use of get, for, and in. The main arguments for the query function are cols, geo_unit and geo_filter, and map backwards to those predicates, respectively. If more predicates are required for the search, they can be added as keyword arguments at the end of the query.

The cols argument must be a list of columns to retrieve from the dataset. Then, you must specify the geo_unit and geo_filter, which provide what the unit of aggregation should be and where the units should be. geo_unit must be a string containing the unit of analysis and an identifier. For instance, if you want all counties in Arizona, you specify geo_unit = 'county:*' and geo_filter = {'state','04'}.

ToDo:

  • [ ] Recursively search for incompletely-specified hierarchies

  • [ ] Document commonly-used data resources (like tract_to_block in cenpy.tools).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cenpy-0.9.9.post1.tar.gz (39.8 kB view details)

Uploaded Source

File details

Details for the file cenpy-0.9.9.post1.tar.gz.

File metadata

  • Download URL: cenpy-0.9.9.post1.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/36.5.0.post20170921 requests-toolbelt/0.8.0 tqdm/4.19.4 CPython/3.6.8

File hashes

Hashes for cenpy-0.9.9.post1.tar.gz
Algorithm Hash digest
SHA256 42c73367ff0f9aab8a87d52321de3482c549cea25173fc0dd94302f5e07a7621
MD5 326c7f86affda32f3e1d222f18e6c6fb
BLAKE2b-256 4f8e0acebcf7799390922a8f654ae6313e889e2900f4e5aef6f05d04afe090c6

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page