用于检查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第三方库


热门话题
具有较旧spring启动版本的java Maven依赖项   java如何在安卓中获取移动网络活动计划使用历史记录   java CXF抛出了所有策略替代方案都无法满足的问题   java如何创建类似ApachePOI的程序   Java Hashmap如何处理单词网格中的键冲突   java如何在多个下拉列表中搜索下一个元素   如何将css文件导入我的JavaSpringWebApp?   如何在Java中将字符串[]转换为字符串[]?   排序如何在Java中根据列的组合对spark dataframe进行排序?   java错误:无法访问com的zzbej类文件。谷歌。安卓gms。内部的没有找到zzbej   illegalargumentexception Java Comparator引发非法参数异常   java删除ShaperRenderer偏移量   安卓中的java出生日期问题   设置MediaBrowserService和MediaSession时遇到java问题   java对抛出声明的澄清   java在IntelliJ IDEA的Gradle项目的“提供”范围内添加依赖项   带2个变量的java For循环?   java是一个更平坦的问题   使用JACOB保存Word文档(Java)