RSS订阅 | 匿名投稿
您的位置:网站首页 > 服务支持 > 正文

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

作者:habao 来源: 日期:2018-9-23 5:11:32 人气: 标签:服务质量的内容

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  这里我们只是构建一个字符串,然后用于执行API调用。 API连接详细信息,如在config.py中定义的 apiURL 和 apiUser 。

  如果您希望通过简单地在 config.py 文件中添加两个额外的行项目,您所请求的数据集的开始(bdate)和结束(edate)日期也可以编码到 config.py 中,如下所示:

  我希望通过请王学兵和范冰冰求给定年份的数据来使脚本更容易运行,而无需每次都更新配置文件,因此我只需编写用户输入来获取所需的年份,如下所示:

  最后,我们将响应 DataFrame 合并到我们的主 DataFrame 中。 请记住,我们循环遍历给定州的每个县,因此我们需要处理结果,然后构建一个 DataFrame,其中包含州内每个县的所有数据。

  最后,在我们为州中的每个县提出API请求并将每个API调用的响应组合到我们的主 DataFrame df之后,我们现在可以将结果输出到 csv 文件中。

  虽然我们将在 Python 中进行额外的清理和工作,但我们希望将输出数据快速导入 MapD,以确保在我们完成 Python 中的任何其他工作之前格式是理想的(这些额外的计算和清理步骤将在未来的文章中呈现)。

  本系列的下一篇文章将重点介绍如何从 API 清理数据,使用数据计算空气质量指数(AQI),并导出数据以导入MapD,我们将进一步分析数据并创建交互式数据可视化。

  文章由325棋牌提供发布

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址:
下一篇:没有资料