Skip to main content

Explore and download data from Census APIs

Project description

CenPy
=======

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`.

A [demo notebook is available](http://nbviewer.ipython.org/github/ljwolf/cenpy/blob/master/demo.ipynb).

Installation
------

This package depends on [Pandas](https://pandas.pydata.org) and [requests](https://docs.python-requests.org/en/latest). 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:
------

- [ ] Provide Joins to geodata the TIGER files REST api

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.8.tar.gz (20.7 kB view details)

Uploaded Source

File details

Details for the file cenpy-0.8.tar.gz.

File metadata

  • Download URL: cenpy-0.8.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cenpy-0.8.tar.gz
Algorithm Hash digest
SHA256 91b425f368067eaed1c141d2be3eed4578578c6e60597d3032c7d9a4177c6d93
MD5 f442e57cff86dfceebe4a44cc0d02dca
BLAKE2b-256 25b20499a5f596f323d9bf7e87dbdf1deb445b5c683b6f197171a99e9b3d2af2

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