Using tabular inputs to build a model ===================================== When the number of users or appliances is high, it can be difficult to create a model using Python scripts. Therefore, RAMP allows you to create inputs in tabular format (``.xlsx``). On the other hand, it is still possible to use Python to generate a large tabular file with default parameter values, which can then be more easily customised. In this example, we show a possible utilisation of this functionality. .. code:: ipython3 from ramp import User, Appliance, UseCase, get_day_type import pandas as pd As a first step, one must create ``User`` classes and assign ``Appliances`` to the user class without assigning detailed appliance characteristics. Hence, users and their appliances are added to a ``UseCase``. Building a tabular file populated with default data --------------------------------------------------- .. code:: ipython3 # Defining a dict of users with their appliances user_app = {"household": ["light", "tv"], "school": ["light", "computer"]} .. code:: ipython3 # creating a UseCase class to create the database use_case = UseCase() .. code:: ipython3 # assinging the appliances to users for user, apps in user_app.items(): user_instance = User(user_name=user) for app in apps: app_instance = user_instance.add_appliance(name=app) app_instance.windows() use_case.add_user(user_instance) .. parsed-literal:: /home/fl/GitHub-repos/RAMP/ramp/core/core.py:1198: UserWarning: No windows is declared, default window of 24 hours is selected warnings.warn( Once the ``Users`` and ``Appliances`` are added to the ``use_case`` instance, the model user can get a ``pd.DataFrame`` or an ``.xlsx`` file of all the data with the default values. Exporting the database ~~~~~~~~~~~~~~~~~~~~~~ .. code:: ipython3 # getting the dataframe use_case.export_to_dataframe() .. raw:: html
user_name | num_users | user_preference | name | number | power | num_windows | func_time | time_fraction_random_variability | func_cycle | ... | cw32_start | cw32_end | r_c3 | window_1_start | window_1_end | window_2_start | window_2_end | window_3_start | window_3_end | random_var_w | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | household | 1 | 0 | light | 1 | 0.0 | 1 | 0 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 1440 | 0 | 0 | 0 | 0 | 0 |
1 | household | 1 | 0 | tv | 1 | 0.0 | 1 | 0 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 1440 | 0 | 0 | 0 | 0 | 0 |
2 | school | 1 | 0 | light | 1 | 0.0 | 1 | 0 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 1440 | 0 | 0 | 0 | 0 | 0 |
3 | school | 1 | 0 | computer | 1 | 0.0 | 1 | 0 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 1440 | 0 | 0 | 0 | 0 | 0 |
4 rows × 51 columns