A set of tools to manipulate and transform power, and energy timeseries data.
Project description
energy_analysis_toolbox is a Python library designed to analyze and model power and energy time series. It provides a wide range of tools for processing time series, generating synthetic datasets, analyzing weather and thermosensitivity.
Features
- Time Series Resampling and Feature Extraction: Includes utilities for manipulating and resampling energy-related time series data, making it easy to work with data from different sources.
- Weather and Thermosensitivity Analysis: Tools for calculating degree days and assessing thermosensitivity.
- Power Consumption Analysis: Detection of unusual power consumption patterns, and analyze load profiles.
- Synthetic Data: Generation of synthetic time series energy datasets.
- Integration with Pandas: Many utilities integrate seamlessly with
pandasDataFrames, allowing to extendpandaswith energy and power-specific tools through an accessor.
Installation
energy_analysis_toolbox can be installed from the repository or via pip. Ensure that you use Python 3.10 or above.
pip install energy-analysis-toolbox
Alternatively, you can clone this repository and install the dependencies directly:
git clone https://github.com/Eco-CO2/energy_analysis_toolbox
cd energy_analysis_toolbox
pip install .
Usage
The toolbox is structured into several modules, each handling a different aspect of energy data processing. Below is a quick example to get started.
Example: Resampling a time series and computing energy
import numpy as np
import pandas as pd
import energy_analysis_toolbox.pandas
import matplotlib.pyplot as plt
power = pd.Series(
data=5*np.sin(np.linspace(0, 6, 100)) + np.random.randn(100) + 7,
index=pd.date_range(start='2023-01-01', periods=100, freq='d'),
)
energy_resampled = power.eat.to_energy().eat.to_freq("1W")/3600000
fig, axes = plt.subplots(1, 2, figsize=(8, 3))
power.plot(ax=axes[0], ylabel="Power (W)", title="Power")
energy_resampled.plot(ax=axes[1], ylabel="Energy (kWh)", title="Weekly resampled energy")
Documentation
The complete documentation, including detailed guides for each module, API reference, and tutorials, can be found here.
To generate the documentation locally, you can run:
./generate_doc.sh
Tests
The Energy Analysis Toolbox comes with a comprehensive test suite that ensures code reliability and robustness. The tests cover a variety of scenarios including time series resampling, power overconsumption analysis, and synthetic data generation.
To run the tests, execute the following command:
./run_tests.sh
We use pytest for unit testing, which helps ensure that our code is reliable and that any modifications do not break existing functionality.
Contributing
This toolbox was originally developed by the R&D team of Eco CO2. It is now open to anyone who wants to contribute: whether it is a bug fix, a new feature, or improving documentation, we appreciate your help! To contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch) - Commit your changes (
git commit -m 'Add new feature') - Push to your branch (
git push origin feature-branch) - Create a pull request
Please make sure to add appropriate unit tests for any new code and verify all tests pass.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For questions, feature requests, or to report issues, please open an issue on the GitHub issue tracker.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file energy_analysis_toolbox-0.1.2.tar.gz.
File metadata
- Download URL: energy_analysis_toolbox-0.1.2.tar.gz
- Upload date:
- Size: 93.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.0 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d352610e2f5c217e0d43039ac68b396ad32defab2dd943cda06f3acaf7f5f226
|
|
| MD5 |
9dc3bb9e1fd835c4a250691345f05113
|
|
| BLAKE2b-256 |
278380017eeb3f5e07ed419e0808e27d51b58deb4678862df46e24cc5da3adf5
|
File details
Details for the file energy_analysis_toolbox-0.1.2-py3-none-any.whl.
File metadata
- Download URL: energy_analysis_toolbox-0.1.2-py3-none-any.whl
- Upload date:
- Size: 123.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.0 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2786a811682410a166bb8c44de576977893ed8a725e6a05badbbaa3d2378dd78
|
|
| MD5 |
ed950c52163eb74400a5d290ceb22c83
|
|
| BLAKE2b-256 |
f5e106fe8e7a61a27dae257b91265e976da5bdd96e95acd82dd060ab8ddb879a
|