探索并从人口普查API下载数据
项目描述
一个探索和查询美国人口普查API的接口,并返回Pandas Dataframes。此包旨在进行探索性数据分析,并从类似sqlalchemy的接口和acs.R中获得灵感。通过为应用开发人员和只想快速且轻松获取数据的用户分别提供API,cenpy应该满足大多数旨在从Python获取美国人口普查数据的用户的需求。
有关使用Cenpy快速获取数据的示例,请参阅我们的网站
安装
Cenpy 最容易通过 conda 安装,它是科学 Python 中常用的包管理器。首先,安装 Anaconda。
然后,cenpy 在 conda-forge 通道可用
conda install -c conda-forge cenpy
或者,如果您已安装 geopandas 和 rtree,也可以通过 pip(Python 包管理器)安装 cenpy
pip install cenpy
对于用户
大多数情况下,用户希望有一个简单直观的接口访问美国人口普查局的主要产品:2010 年人口普查和美国社区调查。幸运的是,cenpy 提供了直接访问这些产品的接口。例如,可以使用以下方法访问美国社区调查的最新 5 年估计数据:
import cenpy acs = cenpy.products.ACS() acs.from_place('Chicago, IL')
同样,可以使用以下方法访问十年一次的人口普查:
import cenpy decennial = cenpy.products.Decennial2010() decennial.from_place('Seattle, WA')
有关产品 API 的工作方式的更多信息,请参阅相关主题笔记本。
对于开发者
API 参考信息可在 cenpy-devs.github.io/cenpy 获得。通常,products 是大多数最终用户希望与之交互的内容。如果您需要更细粒度地访问美国人口普查局的 API,您可能会想要基于 APIConnection 和 TigerConnection 进行构建。
在较高层次上,APIConnection 对象连接到 https://api.census.gov/data.json 上暴露的美国人口普查局的 API 资源。其方法和相关实用工具在 cenpy.remote 中定义。 TigerConnection 包装了在 http://tigerweb.geo.census.gov/arcgis/rest/services/TIGERweb 上公开的一个地图服务,并在 cenpy.tiger 中定义。每个 TigerConnection 由多个 ESRILayer 对象组成,这些对象包装了 ESRI 地图服务中的单个地理区域。例如,一个 ACS TigerConnection 可能在其 layer 属性中包含州、县和街区 ESRILayer 对象。
要使用面向开发者的 API,您可以创建一个使用其短代码的 APIConnection
cxn = cenpy.remote.APIConnection('DECENNIALSF12010')
检查所需的变量和地理支持情况
cxn.variables #is a pandas dataframe containing query-able vbls cxn.geographies #is a pandas dataframe containing query-able geographies
请注意,一些地理区域(如街区)在查询工作之前需要您指定较高层级的更高要求。
查询函数的结构对应于人口普查 API 中的 get、for 和 in 的使用。查询函数的主要参数是 cols、geo_unit 和 geo_filter,它们分别对应那些谓词。如果需要更多的谓词进行搜索,它们可以作为查询末尾的关键字参数添加。
cols 参数必须是检索数据集的列的列表。然后,您必须指定 geo_unit 和 geo_filter,它们提供聚合单元应该是 什么 以及单元应该在 哪里。 geo_unit 必须是一个包含分析单元和标识符的字符串。例如,如果您想指定亚利桑那州的所有县,您指定 geo_unit = 'county:*' 和 geo_filter = {'state':'04'}。
要创建一个 TigerConnection
cxn = cenpy.tiger.TigerConnection('tigerWMS_ACS2013')
然后,所有的 ESRILayer 对象都包含在 layer 属性中
cxn.layers
“cxn.query”方法将相关查询传递到选定的层,并返回一个
贡献
为
使用
!每位用户都是自然意义上的贡献者。如果您愿意,提交一个issue 告诉我们您如何使用
。 发布一个代码片段,一个jupyter笔记本,或您能提供的任何内容。
告诉我们您的博客文章!
询问有关如何从Python中使用人口普查数据的问题,我们会尽力帮助。
如果您使用
时出现错误,提交一个issue告诉我们 您想要的功能不在
中,或在其他包中工作不正常 中的哪些功能不符合您的预期 哪些文档表述不正确或令人困惑
Fork
的github仓库,进行更改,并给我们发送一个pull request
待办事项
在
中添加县商业统计产品
项目详情
cenpy-1.0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 077fd2cc6d69b99da3d85b16a560087e3e455e67a43e934fe5fa1f84c4635f58 |
|
MD5 | b036a7addf5cfe12335d1781eaa3ac70 |
|
BLAKE2b-256 | 4c9a7718386aa4b7b35d9d3bf7197f4e82aeff49916bde73e23a6f4d5dd6c094 |