Skip to main content

Package to create out of a single load profile a profile for a whole district using the diversity factor

Project description

Status Version Python Version Wheel PyPI - License Documentation Status coverage report pipeline status Latest Release Pylint Code style: black Imports: isort Checked with mypy security: bandit made-with-python Last Commit Last Release OpenIssues

Forschungszentrum Juelich Logo

Time Series Scaling Module (TSSM)

TSSM is a python package for the scaling of time series.

Warning

This package is under heavy development!

Getting started

Install tssm

Install tssm directly from PyPi as follows. It is recommended to set up a fresh Conda environment before using this package by following these steps:

  • Install Miniconda or update your conda installation with conda update conda
  • Create a new environment with conda create -n <environmentName> python=<pythonVersion>. The python version to be specified should be greater than python 3.8.
  • Activate the environment with source activate <environmentName> on Linux/MacOS or activate <environmentName> on Windows
  • Clone tssm with git clone https://git.fh-aachen.de/tb5152e/tssm.git
  • Install tssm with pip install -e <path_to_tssm_package>
  • Verify your tssm package installtion by running the configured automated tests. Go to your tssm top-level directory and type pytest

Or you can also directly install tssm package from PyPi with the following command

pip install tssm

Usage

example usages can be found in the examples' folder.

Basic workflow

A small example how tssm can be used is described as follows:

# import module
from tssm import TimeSeriesScalingModule as tssm

# initialize class with a number of buildings of 202 with a simultaneity factor of 0.786
df_test = tssm(number_of_buildings=202, simultaneity_factor=0.786)
# read profile from data.csv file and use the Electricity and Date column
df_test.values.read_profile_from_csv_with_date(path="./data.csv", column_of_load="Electricity", column_of_date="Date")
# calculate linear scaled values with a daily (period=1) simultaneity factor and average value
daily_scaled_values = df_test.calculate_linear(period=1)

Examples

A first example shows the linear approach. It scales the time series between the scaled time series and an average.

A second example shows the scaling approach. It scales the time series between the scaled time series and a scaling time series.

A third example shows the normal distribution approach. It scales the time series by applying a normal distribution to every time step.

A fourth example shows the different ways to import the data.

A fifth example shows the speed of the different approaches.

License

The module is licensed under BSD 3-Clause License.

Further, License information can be found here.

Reference

Acknowledgements

Content

The documentation of the tssm code can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tssm-0.0.2rc1.tar.gz (13.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page