python库,包含生成、处理、分析和绘制与能量相关的时间序列的方法。
enlop的Python项目详细描述
enlopy是一个开放源码的python库,其中包含要生成的方法, 处理、分析和绘制与能源相关的时间序列。
虽然它可以用于任何类型的数据,但它的重点是 与能源有关,即电力/热量需求或发电, 价格等。这里包括的方法是精心挑选的 在这种情况下,它们被收集、概括和 在过去几年的不同研究中 学习。
其目的是提供比已经提供的api更高级别的api 可在常用的科学软件包(熊猫,纽比,松鼠)中找到。 这有助于分析和处理能源负荷时间序列 可用于建模和统计分析。在某些情况下 只是普通包装的方便包装,就像熊猫和 它实现的方法或统计模型可以在 文学。
它由四个模块组成,其中包括以下模块:
- Analysis:描述性统计概述、重塑、负载持续时间曲线、提取每日原型(聚类)
- Plot:二维热图、三维图、箱线图、橄榄球图
- Generate:从日和月剖面生成,从正弦函数生成,从给定的负载持续时间曲线采样,或从给定的psd生成,添加噪声高斯和自回归噪声,生成相关的负载剖面,拟合分析的负载持续时间曲线
- Statistics:从timeseries中提取特性,以便快速概述任何负载曲线的特性。与机器学习软件包结合使用时非常有用。
这个库不关注回归和预测(例如arima、状态空间等),因为周围有很多相关的库。
示例
尝试运行以下命令之一来探索此库的某些功能:
>>>importnumpyasnp>>>importenlopyasel>>>Load=np.random.rand(8760)# Create random vector of values>>>eload=el.make_timeseries(Load)# Convenience wrapper around pandas timeseries>>>el.plot_heatmap(eload,x='day',y='month',aggfunc='mean')# Plots 2d heatmap>>>el.plot_percentiles(eload)# Plots mean and quantiles>>>el.plot_LDC(eload)# Plots a Load Duration Curve>>>el.plot_rug(eload)# Plots a nice rugplot. Useful for dispatch results>>>el.get_load_archetypes(eload,plot_diagnostics=True)# Splits daily loads in clusters (archetypes)
更多的例子可以在this jupyter notebook中找到。
文档
详细的文档仍在构建中,但您可以在这里找到可用方法的概述:http://enlopy.readthedocs.io/
安装
目前,您可以在pypi中找到最新的稳定版本。您可以使用以下命令安装它:
pip install enlopy
请注意,该库仍处于概念模式,因此api很可能在以下版本中发生更改。 如果您已经安装了它,并且希望升级到最新的稳定版本,请使用以下命令:
pip install -U --upgrade-strategy only-if-needed enlopy
这将确保如果当前版本已满足最低要求,则不会更新依赖项。
如果您想从git下载最新版本以供使用或开发:
git clone https://github.com/kavvkon/enlopy.git cd enlopy conda env create # Automatically creates environment based on environment.yml source activate enlopy pip install -e . # Install editable local version
它应该准备好为任何有 anaconda distribution 安装。使用enlopy所需的唯一依赖项是 以下内容:
贡献
如果你认为你可以用新的相关方法 目前正在以任何方式使用或改进代码或文档,请随时与我联系, 分叉存储库并发送拉取请求。
引用
如果你在学术工作中使用这个图书馆,请考虑引用它。
[1]K.Kavvadias,“Enlopy:Python能源负荷时间序列工具包”
enlopy已用于处理此科学论文中的需求时间序列: http://dx.doi.org/10.1016/j.apenergy.2016.08.077