用于检查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是围绕两种主要对象类型构建的,即energy
和visual
类。
能量
对象
要直接访问特定能源类型的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
若要在数据集间隔内获得极值,请使用maxima
或minima
方法。
可视对象
对象
avisual
允许程序包创建几种能量类型的绘图。
visual
的初始化参数类似于energy
对象的初始化参数。
avisual
可以接受单个能量类型或能量类型列表,可以选择后跟一种统计类型(默认消耗)。
$ pip install pyleiades
0
这个可视化对象的方法可以用来生成各种各样的可视化对象。
语法同样类似于energy
对象,但是它包含一个主题参数,对应于energy
对象的方法。
下面是一个生成能量总量线图的示例:
$ pip install pyleiades
1
运行非常简单的安装脚本pyleiades demo.py
查看运行中的包。