用于检查EIA月度能源审查数据集的API。

pyleiades的Python项目详细描述


挂架

构建状态

用于EIA数据检查和展览的Python库

从历史能源数据中创建视觉效果的工具(例如,EIA每月能源回顾)。

此工具旨在为能源信息管理局(EIA)每月能源审查数据集提供有见地、美观且更灵活的可视化效果。 这些数据集包含了20世纪中叶以来美国人依靠的能源信息。 这些数据集始于1949年,包括年能源生产、消费、进出口值,并一直延伸到现在。 从1973年开始,每月的能源数据点报告。

基本能源分为以下几组:

化石燃料
  • 天然气
  • 石油
可再生能源
  • 太阳能
  • 水力发电
  • 地热
  • 生物量
  • 裂变

数据每月公布在环境影响评估网站上,截至2019年3月31日,记录已提供至2018年12月。此软件包还包括截至2018年底的最新数据,但可以使用附带的脚本下载最新数据。

所有报告的数值均以英国热量单位(1.0e15 BTU)为单位。请注意,这些数据集可能比PDF报告中发布的数据更精确。

安装

pyleiades通过python包索引(pypi)托管,可以使用pip轻松安装。 在命令行中,运行

$ pip install pyleiades

该模块需要python 3(3.6或更高版本)、pandas和matplotlib等的最新版本。 如果在运行包时遇到问题,请尝试使用此repo中提供的anaconda环境。 使用命令安装环境

$ conda env create -f environment.yml

并通过发出命令激活环境

$ conda activate pyleiades

更新

EIA每月能源审查数据集的存档保存在pyleiades数据存储库中。 这可能不包括最新的信息,因此包附带了一个脚本来更新可用的数据。 安装软件包后,请运行

$ update_eia_data.py

从命令行下载EIA网站的最新数据。

使用API

api是围绕两种主要对象类型构建的,即energyvisual类。

能量对象

要直接访问特定能源类型的EIA数据,请使用energy类。 例如,所有可再生能源的能源消耗数据都可以使用:

>>> from pyleiades import Energy
>>> renewables = Energy('renewable')

生成的可再生能源对象在能源数据数据帧属性中存储完整的消耗历史。

>>> renewables.energy_data
     date_code      value
6220    194913   2.973984
6221    195013   2.977718
6222    195113   2.958464
6223    195213   2.940181
...

日期代码列给出报告日期(格式为yyymm,其中月份代码13表示年度总计),而列给出每个日期的消费量(单位为qbtu)。 在上面的例子中,能源数据框的前四个条目是1949年到1952年的可再生能源年消耗总量。

能耗值是默认值,但是energy对象也可以用于访问生产、导入和导出统计信息。 可以使用stat_type选择统计类型ode>关键字参数。

>>> renewables = Energy('renewable', stat_type='production')
>>> renewables.energy_data
     date_code     value
6220    194913  1.549262
6221    195013  1.562307
6222    195113  1.534669
6223    195213  1.474369

然而,也许比完整的历史记录更有趣的是,数据的更复杂的特征,如特定区间的总和和极值。

使用energy对象的totals方法,可以每月、每年或累计按指定间隔对数据进行合计。

>>> renewables.totals('monthly')
           value
  date
197301  0.403981
197302  0.360900
197303  0.400161
197304  0.380470

请注意,这里的月度数据只追溯到1973年(尽管energy_data属性显示了1949年可再生能源的年度数据)。 默认情况下,totals方法选择可用数据的整个范围。 可以通过提供某个间隔的开始日期和结束日期作为关键字参数来重写此行为。 要仅获取2000年至2010年的每月可再生能源数据,这将是:

>>> renewables.totals(freq='monthly', start_date='200001', end_date='200912')
           value
  date
200001  0.505523
200002  0.498993
200003  0.558474
200004  0.567147

若要在数据集间隔内获得极值,请使用maximaminima方法。

可视对象对象

avisual允许程序包创建几种能量类型的绘图。 visual的初始化参数类似于energy对象的初始化参数。 avisual可以接受单个能量类型或能量类型列表,可以选择后跟一种统计类型(默认消耗)。

$ pip install pyleiades
0

这个可视化对象的方法可以用来生成各种各样的可视化对象。 语法同样类似于energy对象,但是它包含一个主题参数,对应于energy对象的方法。 下面是一个生成能量总量线图的示例:

$ pip install pyleiades
1

1970年以来煤炭、核能和可再生能源消耗的可视化比较

运行非常简单的安装脚本pyleiades demo.py查看运行中的包。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像