您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能 正文
发私信给AI研习社-译站
发送

0

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

本文作者:AI研习社-译站 2018-08-13 15:34
导语:在环境和人体健康日益重要的今天,我来教你如何用代码与数据来检测空气质量......

雷锋网按:本文为AI研习社编译的技术博客,原标题 Analyzing Utah’s Air Quality – Connecting to the EPA’s AQS Data API,作者为 Randy Zwitch 。

翻译 | 京鹏      校对 | 余杭     整理 | 余杭


住在山谷里有点像生活在汤碗里,所有重物似乎都集中在碗底。 我想说犹他州的许多山谷被称为地垒和地堑,虽然我确信一些地质学家可能纠正我的错误。无论如何,四面环山意味着空气污染往往会收集并集中在山谷底。

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

从伍德兰丘陵看犹他州 

作为一个终身的犹他人,我开始怀疑污染有多严重? 新闻记者似乎认为很糟糕。 政界人士却说这种情况从未如此好过。 有多糟糕呢? 它对房地产价值等因素有何影响? 有多少人受到影响?  

为了帮助回答其中一些问题,我们与 MapD 的高级开发人员倡导者 Randy Zwitch 合作。 通过这种合作,我们希望可以更好地了解犹他州的空气质量及其影响,并且随着我们的学习,我们将与您分享我们的流程。 

这种合作关系将产生一系列博客文章,记录我们的流程和学习所得。

分析犹他州空气质量

第一部分连接到 EPA 的 AQS 数据 API

第二部分AQS 数据清理和转化

第三部分使用 Shapefile 并在 MapD 中分配AQI站点

第四部分:在 MapD 中构建犹他州 AQI 仪表板

第五部分:最终分析:空气质量调查结果

让我们开始吧...


在 EPA.gov 上注册一个账号

我们需要从环保局获取我们的空气质量数据。数据免费提供,唯一的要求是创建一个账户,用于访问空气质量数据API。

要创建新帐户,请访问 https://aqs.epa.gov/signup 。您需要提供的唯一信息是电子邮件地址。 在使用您的电子邮件地址提交表单后,您将收到一个密码。


熟悉 API 参数和数据

收到 API 密码后,你就可以通过一个基于网页的查询表查询空气质量数据。

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

EPA 上基于网页的空气质量查询工具

使用这个基于网页的查询工具可以快速熟悉可用的数据类型,用于选择所需数据的参数以及整体数据输出格式。 


确定分析所需的数据 

 通过API可以获得大量的空气质量数据,当您尝试使用基于网页的查询工具时,您可以开始了解哪种数据集最符合您的兴趣。 对于我们的分析,我们使用以下参数: 

  • AQI污染物:该数据集包含用于测量空气质量指数的所有污染物,您可能更熟悉将其作为污染物指标,例如今天我们的空气污染是红色,请拼车出行。   

  • 参数代码:我们没有提供参数代码,因为我们想要评估所有与AQI相关的污染物。 但是,如果您只对臭氧感兴趣,可以通过传入“臭氧”参数代码(44201 - 臭氧)来限制查询。

  • 州代码:在这个分析中,我们对犹他州(49 - 犹他州)感兴趣。

  • 郡代码:我们想要检索犹他州所有郡的空气质量数据,但是将此参数留空会导致 API 调用失败,因此我们需要单独请求每个郡的数据集。 下一步有更多这方面的内容。


从网页表格迁移到编程 API 调用

 一旦您理解了数据并了解了如何构建查询,就可以从基于网页的表单转换为您选择的编程语言,以便对数据进行检索,挖掘,清理,传输等。 对于此示例,我们将使用Python。  

有关如何与API交互的详细文档,请参阅:https://aqs.epa.gov/aqsweb/documents/ramltohtml.html


Python 脚本示例

项目路径结构

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

让我们分解这个例子中的操作:

第1步: 导入 Python 库 

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

pandas:由于数据来自API,我们将使用 Pandas 将数据存储在 DataFrame 中。 稍后,我们将在操作数据时使用Pandas 的其他功能。

 io:我们将使用 io 库来解码从API返回的数据。

requests:Requests 库将用于向 EPA.gov 服务器发出API请求。

 
第2步:创建 Pandas Dataframe
犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

我们将创建一个空的 DataFrame 来存储 API 的响应。


第3步: 导入配置数据犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

如前所述,我们无法请求整个州的数据,因此我们需要一种有效的方法来按县逐个请求数据。 为了使代码更具可伸缩性,我们将使用 county.py 来检索要处理的郡列表。 虽然我们在这里只看犹他州,但代码可以很容易地扩展到处理任何州.

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

将用于构造 API 调用的基本配置信息包含在名为 config.py 的文件中,此文件作为基本配置文件运行,您要从主项目代码中抽象出来的任何细节都可以放到里面。

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据


第4步: 遍历州的每个郡

现在我们需要遍历有兴趣分析的州的每个郡。

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

 这就是我们定义循环的方式。 使用 county.py 中包含的县列表,我们将遍历州的县列表中的每个县名(如 config.py 中所定义)。 对我们来说,我们的 config.stateName = utah。  


第5步: 构建API调用


......

想要继续阅读,请移步至我们的AI研习社社区:https://club.leiphone.com/page/TextTranslation/771

更多精彩内容尽在 AI 研习社。

不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。

雷锋网雷锋网


雷峰网原创文章,未经授权禁止转载。详情见转载须知

犹他州空气质量分析:从 EPA 的空气质量服务站 API 中抓取数据

分享:
相关文章

知情人士

AI研习社(yanxishe.com)译站频道,传播前沿人工智能知识,让语言不再成为学习知识的门槛。(原雷锋字幕组)
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说