Tutorial 54: Time Tables

This example demonstrates how view, create, delete and edit measured variable tables (Sollwerttabellen) with pandas dataframes as python representation. The shown operation work for other time table types ([“VarPressureTable”, “VarFlowTable”, “ValveLiftTable”, “PumpSpeedTable”, “MeasuredVariableTable”, “LoadFactorTable”, “ThermalOutputTable”, “TemperatureTable”].) as well.

SIR 3S Installation

[1]:
SIR3S_SIRGRAF_DIR = r"C:\3S\SIR 3S\SirGraf-90-15-00-24_Quebec-Upd2" #change to local path

Imports

[2]:
from sir3stoolkit.core import wrapper
[3]:
from sir3stoolkit.mantle import mantle

The wrapper package has to be initialized with reference to a SIR 3S (SirGraf) installation.

[4]:
wrapper.Initialize_Toolkit(SIR3S_SIRGRAF_DIR)
[2026-06-01 14:46:21,775] INFO in sir3stoolkit.core.wrapper: [Initialization] Using provided SirGraf path: C:\3S\SIR 3S\SirGraf-90-15-00-24_Quebec-Upd2
[2026-06-01 14:46:21,775] INFO in sir3stoolkit.core.wrapper: [Initialization] Using provided SirGraf path: C:\3S\SIR 3S\SirGraf-90-15-00-24_Quebec-Upd2
[2026-06-01 14:46:21,820] INFO in sir3stoolkit.core.wrapper: [Initialization] Initializing toolkit with SirGraf path: C:\3S\SIR 3S\SirGraf-90-15-00-24_Quebec-Upd2

Additional imports

[5]:
import pandas as pd
import numpy as np
import pandas as pd
import numpy as np
from datetime import datetime, timedelta

Initialization

[6]:
s3s = mantle.SIR3S_Model_Mantle()
[2026-06-01 14:46:22,257] INFO in sir3stoolkit.core.wrapper: [Model Class Initialization] Initialization complete
[7]:
from sir3stoolkit.mantle import dataframes
s3s = dataframes.SIR3S_Model_Dataframes()
[2026-06-01 14:46:22,335] INFO in sir3stoolkit.core.wrapper: [Model Class Initialization] Initialization complete

Open Model

[8]:
dbFilePath=r"Toolkit_Tutorial54_Model.db3"
[9]:
s3s.OpenModel(dbName=dbFilePath,
              providerType=s3s.ProviderTypes.SQLite,
              Mid="M-1-0-1",
              saveCurrentlyOpenModel=False,
              namedInstance="",
              userID="",
              password="")
[2026-06-01 14:46:29,652] INFO in sir3stoolkit.core.wrapper: Model is open for further operation

Create new measured variable tables

Let’s insert Variable 1 as a placeholder example.

[10]:
s3s.GetPropertiesofElementType(ElementType=s3s.ObjectTypes.MeasuredVariableTable)
[10]:
['Name',
 'Beschreibung',
 'Zeitoption',
 'Intpol',
 'Idreferenz',
 'Pk',
 'InVariant']
[11]:
measured_variable_table_1 = s3s.InsertElement(ElementType=s3s.ObjectTypes.MeasuredVariableTable, IdRef="1")
[2026-06-01 14:46:29,760] INFO in sir3stoolkit.core.wrapper: Element inserted successfully into the model with Tk: 4866615149030577210
[12]:
s3s.SetValue(Tk=measured_variable_table_1, propertyName="Name", Value="Variable 1")
[2026-06-01 14:46:29,780] INFO in sir3stoolkit.core.wrapper: Value is set
[13]:
s3s.SetValue(Tk=measured_variable_table_1, propertyName="Zeitoption", Value="0") # We do not want special time reference, see general SIR 3S documentation for details
[2026-06-01 14:46:29,804] INFO in sir3stoolkit.core.wrapper: Value is set
[14]:
s3s.SetValue(Tk=measured_variable_table_1, propertyName="Intpol", Value="0") # We choose linear interpolation scheme. Use 9 for step function
[2026-06-01 14:46:29,823] INFO in sir3stoolkit.core.wrapper: Value is set

Import values - populate newly created Time Table

[15]:
s3s.StartEditSession(SessionName="Insert DataFrame into Time Table")
[2026-06-01 14:46:29,857] INFO in sir3stoolkit.core.wrapper: Now you can make changes to the model

W is the value that is given as a function of time W = f(t)

The sample data we provide is in ‘measured’ in constant time intervals and the values are random between 0 and 100.

[16]:
# Create time vector: 0 to 600 seconds, step 20
time_seconds = np.arange(0, 601, 20)

# Create variable values between 0 and 100
np.random.seed(42)
werte = np.random.rand(len(time_seconds)) * 100

YEAR = 2026
DATE = datetime(YEAR, 1, 1)  # constant date for all entries

rows = []

for t, w in zip(time_seconds, werte):
    timestamp = DATE + timedelta(seconds=int(t))
    tag = timestamp.strftime("%Y-%m-%d")
    uhrzeit = timestamp.strftime("%H:%M:%S.%f")

    rows.append({
        "TAG": tag,
        "UHRZEIT": uhrzeit,
        "WERT": w
    })

# duplicate timestamp to check behavior
timestamp = DATE + timedelta(seconds=int(0))
tag = timestamp.strftime("%Y-%m-%d")
uhrzeit = timestamp.strftime("%H:%M:%S.%f")
rows.append({
        "TAG": tag,
        "UHRZEIT": uhrzeit,
        "WERT": 0.00001 # low numerical value
    })

# Build DataFrame
df = pd.DataFrame(rows, columns=["TAG", "UHRZEIT", "WERT"])
[17]:
df.head(3)
[17]:
TAG UHRZEIT WERT
0 2026-01-01 00:00:00.000000 37.454012
1 2026-01-01 00:00:20.000000 95.071431
2 2026-01-01 00:00:40.000000 73.199394

We can use the insert_dataframe_into_time_table() method to insert the dataframe into the model as a measured variable table.

We provide the tk of the newly created time table and the df we want to insert.

We can ignore the params overwrite and keep as they only have an effect if the time table is previousley populated.

[18]:
df_measured_variable_table_1 = s3s.insert_dataframe_into_time_table(time_table_tk=measured_variable_table_1, dataframe=df)
[2026-06-01 14:46:30,023] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Validating input data ...
[2026-06-01 14:46:30,140] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Successfully validated input data.
[2026-06-01 14:46:30,150] WARNING in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Duplicate timestamps found. Keeping row with lower numerical value in column WERT per timestamp. Check your input df for duplicate timestamps.
[2026-06-01 14:46:30,168] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:30,172] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:30,174] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:30,191] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] time table is empty.
[2026-06-01 14:46:30,195] WARNING in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] No existing rows in time table with tk 4866615149030577210 to keep. Function will behave as if Keep=False
[2026-06-01 14:46:30,209] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4625831370746248697
[2026-06-01 14:46:30,212] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,216] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,218] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 0.0 with value 1e-05 at tk 4625831370746248697 ...
[2026-06-01 14:46:30,224] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4655908162597039876
[2026-06-01 14:46:30,228] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,228] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,236] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 20.0 with value 95.07143064099162 at tk 4655908162597039876 ...
[2026-06-01 14:46:30,240] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5734066045313944363
[2026-06-01 14:46:30,243] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,247] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,249] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 40.0 with value 73.1993941811405 at tk 5734066045313944363 ...
[2026-06-01 14:46:30,252] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5368535497299875319
[2026-06-01 14:46:30,256] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,258] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,261] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 60.0 with value 59.86584841970366 at tk 5368535497299875319 ...
[2026-06-01 14:46:30,264] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5699739914269006414
[2026-06-01 14:46:30,267] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,272] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,274] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 80.0 with value 15.601864044243651 at tk 5699739914269006414 ...
[2026-06-01 14:46:30,274] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4643909720047781597
[2026-06-01 14:46:30,280] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,283] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,286] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 100.0 with value 15.599452033620265 at tk 4643909720047781597 ...
[2026-06-01 14:46:30,291] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5610620583249502886
[2026-06-01 14:46:30,294] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,296] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,296] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 120.0 with value 5.8083612168199465 at tk 5610620583249502886 ...
[2026-06-01 14:46:30,302] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5747418083827855209
[2026-06-01 14:46:30,307] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,307] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,311] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 140.0 with value 86.61761457749351 at tk 5747418083827855209 ...
[2026-06-01 14:46:30,315] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5611081131852672740
[2026-06-01 14:46:30,318] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,321] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,323] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 160.0 with value 60.11150117432088 at tk 5611081131852672740 ...
[2026-06-01 14:46:30,328] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5163704987402972986
[2026-06-01 14:46:30,328] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,332] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,332] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 180.0 with value 70.80725777960456 at tk 5163704987402972986 ...
[2026-06-01 14:46:30,336] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5653535470062808950
[2026-06-01 14:46:30,340] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,340] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,340] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 200.0 with value 2.0584494295802447 at tk 5653535470062808950 ...
[2026-06-01 14:46:30,348] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5720321945947745964
[2026-06-01 14:46:30,351] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,353] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,357] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 220.0 with value 96.99098521619943 at tk 5720321945947745964 ...
[2026-06-01 14:46:30,360] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4632712025463895188
[2026-06-01 14:46:30,362] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,362] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,369] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 240.0 with value 83.24426408004217 at tk 4632712025463895188 ...
[2026-06-01 14:46:30,375] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4781404444982733808
[2026-06-01 14:46:30,377] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,381] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,381] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 260.0 with value 21.233911067827616 at tk 4781404444982733808 ...
[2026-06-01 14:46:30,386] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4771703416782823826
[2026-06-01 14:46:30,390] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,391] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,391] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 280.0 with value 18.182496720710063 at tk 4771703416782823826 ...
[2026-06-01 14:46:30,391] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4780513761930500972
[2026-06-01 14:46:30,391] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,391] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,404] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 300.0 with value 18.34045098534338 at tk 4780513761930500972 ...
[2026-06-01 14:46:30,407] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5463689616861961669
[2026-06-01 14:46:30,408] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,411] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,413] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 320.0 with value 30.42422429595377 at tk 5463689616861961669 ...
[2026-06-01 14:46:30,416] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5228397547015722967
[2026-06-01 14:46:30,421] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,424] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,426] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 340.0 with value 52.475643163223786 at tk 5228397547015722967 ...
[2026-06-01 14:46:30,428] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5446779899707687465
[2026-06-01 14:46:30,432] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,435] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,437] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 360.0 with value 43.194501864211574 at tk 5446779899707687465 ...
[2026-06-01 14:46:30,441] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5286908254793078596
[2026-06-01 14:46:30,443] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,447] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,449] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 380.0 with value 29.122914019804192 at tk 5286908254793078596 ...
[2026-06-01 14:46:30,454] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5239486905614020349
[2026-06-01 14:46:30,456] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,459] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,460] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 400.0 with value 61.18528947223795 at tk 5239486905614020349 ...
[2026-06-01 14:46:30,463] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5452404597142364466
[2026-06-01 14:46:30,464] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,468] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,469] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 420.0 with value 13.949386065204184 at tk 5452404597142364466 ...
[2026-06-01 14:46:30,473] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5200668954288433337
[2026-06-01 14:46:30,475] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,477] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,479] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 440.0 with value 29.214464853521815 at tk 5200668954288433337 ...
[2026-06-01 14:46:30,481] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5688570984205172557
[2026-06-01 14:46:30,482] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,485] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,486] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 460.0 with value 36.63618432936917 at tk 5688570984205172557 ...
[2026-06-01 14:46:30,486] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5511693225148222410
[2026-06-01 14:46:30,490] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,490] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,490] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 480.0 with value 45.606998421703594 at tk 5511693225148222410 ...
[2026-06-01 14:46:30,490] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4879785364487089689
[2026-06-01 14:46:30,504] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,506] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,507] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 500.0 with value 78.51759613930136 at tk 4879785364487089689 ...
[2026-06-01 14:46:30,510] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5556811585222757218
[2026-06-01 14:46:30,512] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,515] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,517] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 520.0 with value 19.967378215835975 at tk 5556811585222757218 ...
[2026-06-01 14:46:30,519] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4658620214979422299
[2026-06-01 14:46:30,524] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,525] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,525] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 540.0 with value 51.42344384136116 at tk 4658620214979422299 ...
[2026-06-01 14:46:30,534] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5414238948993259824
[2026-06-01 14:46:30,536] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,541] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,545] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 560.0 with value 59.24145688620425 at tk 5414238948993259824 ...
[2026-06-01 14:46:30,545] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5247215439932537426
[2026-06-01 14:46:30,545] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,553] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,557] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 580.0 with value 4.645041271999773 at tk 5247215439932537426 ...
[2026-06-01 14:46:30,558] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5354833806071329616
[2026-06-01 14:46:30,562] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,564] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:30,566] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 600.0 with value 60.75448519014384 at tk 5354833806071329616 ...
[2026-06-01 14:46:30,568] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:30,575] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:30,575] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:30,590] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[19]:
df_measured_variable_table_1
[19]:
tk WERT operation_flag
Zeit [s]
0.0 4625831370746248697 0.000010 inserted
20.0 4655908162597039876 95.071430 inserted
40.0 5734066045313944363 73.199390 inserted
60.0 5368535497299875319 59.865850 inserted
80.0 5699739914269006414 15.601860 inserted
100.0 4643909720047781597 15.599450 inserted
120.0 5610620583249502886 5.808361 inserted
140.0 5747418083827855209 86.617610 inserted
160.0 5611081131852672740 60.111500 inserted
180.0 5163704987402972986 70.807260 inserted
200.0 5653535470062808950 2.058450 inserted
220.0 5720321945947745964 96.990980 inserted
240.0 4632712025463895188 83.244260 inserted
260.0 4781404444982733808 21.233910 inserted
280.0 4771703416782823826 18.182500 inserted
300.0 4780513761930500972 18.340450 inserted
320.0 5463689616861961669 30.424220 inserted
340.0 5228397547015722967 52.475640 inserted
360.0 5446779899707687465 43.194500 inserted
380.0 5286908254793078596 29.122910 inserted
400.0 5239486905614020349 61.185290 inserted
420.0 5452404597142364466 13.949390 inserted
440.0 5200668954288433337 29.214460 inserted
460.0 5688570984205172557 36.636180 inserted
480.0 5511693225148222410 45.607000 inserted
500.0 4879785364487089689 78.517590 inserted
520.0 5556811585222757218 19.967380 inserted
540.0 4658620214979422299 51.423440 inserted
560.0 5414238948993259824 59.241460 inserted
580.0 5247215439932537426 4.645041 inserted
600.0 5354833806071329616 60.754490 inserted

Side note: Our duplicate timestamp was utilised as it has the lower numerical value than the duplicate value at that timestamp in our df to be imported.

Import values - partly overwrite Time Table (keep others)

Now let’s pretend we have some new data for the 0 to 2 min and from the 3 to 6 min time frame, we want to write those new values and keep time value pairs not in that timeframe.

[20]:
# Create time vector: 0 to 120s and 180 to 360 seconds, step 20
time_seconds = np.concatenate([
    np.arange(0, 121, 20),   # 0, 20, ..., 120
    np.arange(180, 361, 20)  # 180, 200, ..., 360
])

# Create variable values between 0 and 100
np.random.seed(43)
werte = np.random.rand(len(time_seconds)) * 100

YEAR = 2026
DATE = datetime(YEAR, 1, 1)  # constant date for all entries

rows = []

for t, w in zip(time_seconds, werte):
    timestamp = DATE + timedelta(seconds=int(t))
    tag = timestamp.strftime("%Y-%m-%d")
    uhrzeit = timestamp.strftime("%H:%M:%S.%f")

    rows.append({
        "TAG": tag,
        "UHRZEIT": uhrzeit,
        "WERT": w
    })

# duplicate timestamp to check behavior
timestamp = DATE + timedelta(seconds=int(300))
tag = timestamp.strftime("%Y-%m-%d")
uhrzeit = timestamp.strftime("%H:%M:%S.%f")
rows.append({
        "TAG": tag,
        "UHRZEIT": uhrzeit,
        "WERT": 10000 # high numerical value
    })

# Build DataFrame
df = pd.DataFrame(rows, columns=["TAG", "UHRZEIT", "WERT"])
[21]:
df
[21]:
TAG UHRZEIT WERT
0 2026-01-01 00:00:00.000000 11.505457
1 2026-01-01 00:00:20.000000 60.906654
2 2026-01-01 00:00:40.000000 13.339096
3 2026-01-01 00:01:00.000000 24.058962
4 2026-01-01 00:01:20.000000 32.713906
5 2026-01-01 00:01:40.000000 85.913749
6 2026-01-01 00:02:00.000000 66.609021
7 2026-01-01 00:03:00.000000 54.116221
8 2026-01-01 00:03:20.000000 2.901382
9 2026-01-01 00:03:40.000000 73.374830
10 2026-01-01 00:04:00.000000 39.495002
11 2026-01-01 00:04:20.000000 80.204712
12 2026-01-01 00:04:40.000000 25.442113
13 2026-01-01 00:05:00.000000 5.688494
14 2026-01-01 00:05:20.000000 86.664864
15 2026-01-01 00:05:40.000000 22.102900
16 2026-01-01 00:06:00.000000 40.498945
17 2026-01-01 00:05:00.000000 10000.000000

Now, we set overwrite=True, that ensures that time value pairs with a timestamp, that already exist in the current time table, are not deleted and reinserted, instead just the value is updated.

And we set keep=True, as we dont want to delete the previously inserted data for the time frame between 2 to 3 min and 6 to 10 min.

[22]:
df_measured_variable_table_1 = s3s.insert_dataframe_into_time_table(time_table_tk=measured_variable_table_1, dataframe=df, overwrite=True, keep=True)
[2026-06-01 14:46:31,174] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Validating input data ...
[2026-06-01 14:46:31,253] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Successfully validated input data.
[2026-06-01 14:46:31,259] WARNING in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Duplicate timestamps found. Keeping row with lower numerical value in column WERT per timestamp. Check your input df for duplicate timestamps.
[2026-06-01 14:46:31,284] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:31,290] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:31,292] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:31,311] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:31,323] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,323] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 0.0 with new value 11.505456638977895 at tk 4625831370746248697 ...
[2026-06-01 14:46:31,329] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,332] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 20.0 with new value 60.90665392794814 at tk 4655908162597039876 ...
[2026-06-01 14:46:31,336] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,340] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 40.0 with new value 13.339096418598828 at tk 5734066045313944363 ...
[2026-06-01 14:46:31,340] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,346] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 60.0 with new value 24.058961996534876 at tk 5368535497299875319 ...
[2026-06-01 14:46:31,349] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,353] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 80.0 with new value 32.71390558111398 at tk 5699739914269006414 ...
[2026-06-01 14:46:31,357] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,357] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 100.0 with new value 85.91374909485977 at tk 4643909720047781597 ...
[2026-06-01 14:46:31,357] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,369] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 120.0 with new value 66.60902130980257 at tk 5610620583249502886 ...
[2026-06-01 14:46:31,373] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,373] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 180.0 with new value 54.11622122834038 at tk 5163704987402972986 ...
[2026-06-01 14:46:31,379] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,381] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 200.0 with new value 2.90138244243604 at tk 5653535470062808950 ...
[2026-06-01 14:46:31,385] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,386] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 220.0 with new value 73.3748296280283 at tk 5720321945947745964 ...
[2026-06-01 14:46:31,390] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,393] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 240.0 with new value 39.49500184310059 at tk 4632712025463895188 ...
[2026-06-01 14:46:31,397] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,399] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 260.0 with new value 80.20471186286665 at tk 4781404444982733808 ...
[2026-06-01 14:46:31,405] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,408] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 280.0 with new value 25.442112585987932 at tk 4771703416782823826 ...
[2026-06-01 14:46:31,408] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,408] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 300.0 with new value 5.68849366511518 at tk 4780513761930500972 ...
[2026-06-01 14:46:31,417] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,419] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 320.0 with new value 86.66486408992003 at tk 5463689616861961669 ...
[2026-06-01 14:46:31,423] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,423] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 340.0 with new value 22.10289958843713 at tk 5228397547015722967 ...
[2026-06-01 14:46:31,432] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:31,432] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 360.0 with new value 40.498944804725966 at tk 5446779899707687465 ...
[2026-06-01 14:46:31,436] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 140.0 with value 86.61761 at tk 5747418083827855209 ...
[2026-06-01 14:46:31,436] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 160.0 with value 60.1115 at tk 5611081131852672740 ...
[2026-06-01 14:46:31,440] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 380.0 with value 29.12291 at tk 5286908254793078596 ...
[2026-06-01 14:46:31,443] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 400.0 with value 61.18529 at tk 5239486905614020349 ...
[2026-06-01 14:46:31,443] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 420.0 with value 13.94939 at tk 5452404597142364466 ...
[2026-06-01 14:46:31,448] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 440.0 with value 29.21446 at tk 5200668954288433337 ...
[2026-06-01 14:46:31,453] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 460.0 with value 36.63618 at tk 5688570984205172557 ...
[2026-06-01 14:46:31,457] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 480.0 with value 45.607 at tk 5511693225148222410 ...
[2026-06-01 14:46:31,459] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 500.0 with value 78.51759 at tk 4879785364487089689 ...
[2026-06-01 14:46:31,463] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 520.0 with value 19.96738 at tk 5556811585222757218 ...
[2026-06-01 14:46:31,463] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 540.0 with value 51.42344 at tk 4658620214979422299 ...
[2026-06-01 14:46:31,469] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 560.0 with value 59.24146 at tk 5414238948993259824 ...
[2026-06-01 14:46:31,473] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 580.0 with value 4.645041 at tk 5247215439932537426 ...
[2026-06-01 14:46:31,475] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 600.0 with value 60.75449 at tk 5354833806071329616 ...
[2026-06-01 14:46:31,475] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:31,485] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:31,488] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:31,509] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[23]:
df_measured_variable_table_1
[23]:
tk WERT operation_flag
Zeit [s]
0.0 4625831370746248697 11.505460 overwritten
20.0 4655908162597039876 60.906650 overwritten
40.0 5734066045313944363 13.339100 overwritten
60.0 5368535497299875319 24.058960 overwritten
80.0 5699739914269006414 32.713910 overwritten
100.0 4643909720047781597 85.913750 overwritten
120.0 5610620583249502886 66.609020 overwritten
140.0 5747418083827855209 86.617610 kept
160.0 5611081131852672740 60.111500 kept
180.0 5163704987402972986 54.116220 overwritten
200.0 5653535470062808950 2.901382 overwritten
220.0 5720321945947745964 73.374830 overwritten
240.0 4632712025463895188 39.495000 overwritten
260.0 4781404444982733808 80.204710 overwritten
280.0 4771703416782823826 25.442110 overwritten
300.0 4780513761930500972 5.688494 overwritten
320.0 5463689616861961669 86.664860 overwritten
340.0 5228397547015722967 22.102900 overwritten
360.0 5446779899707687465 40.498940 overwritten
380.0 5286908254793078596 29.122910 kept
400.0 5239486905614020349 61.185290 kept
420.0 5452404597142364466 13.949390 kept
440.0 5200668954288433337 29.214460 kept
460.0 5688570984205172557 36.636180 kept
480.0 5511693225148222410 45.607000 kept
500.0 4879785364487089689 78.517590 kept
520.0 5556811585222757218 19.967380 kept
540.0 4658620214979422299 51.423440 kept
560.0 5414238948993259824 59.241460 kept
580.0 5247215439932537426 4.645041 kept
600.0 5354833806071329616 60.754490 kept

Side note: Our duplicate timestamp was not utilised (at 300s) as it has a higher numerical value than the duplicate value at that timestamp in our df to be imported.

The operation flag column now indicates, what operation was performed on that row.

Import values - partly overwrite Time Table (don’t keep others)

Now let’s pretend we have some new data for the 0 to 6 min time frame, we want to write those new values and remove time value pairs not in that timeframe.

[24]:
# Create time vector: 0 to 360 seconds, step 20
time_seconds = np.arange(0, 361, 20)

# Create variable values between 0 and 100
np.random.seed(44)
werte = np.random.rand(len(time_seconds)) * 100

YEAR = 2026
DATE = datetime(YEAR, 1, 1)  # constant date for all entries

rows = []

for t, w in zip(time_seconds, werte):
    timestamp = DATE + timedelta(seconds=int(t))
    tag = timestamp.strftime("%Y-%m-%d")
    uhrzeit = timestamp.strftime("%H:%M:%S.%f")

    rows.append({
        "TAG": tag,
        "UHRZEIT": uhrzeit,
        "WERT": w
    })

# Build DataFrame
df = pd.DataFrame(rows, columns=["TAG", "UHRZEIT", "WERT"])
[25]:
df
[25]:
TAG UHRZEIT WERT
0 2026-01-01 00:00:00.000000 83.484215
1 2026-01-01 00:00:20.000000 10.479610
2 2026-01-01 00:00:40.000000 74.464048
3 2026-01-01 00:01:00.000000 36.050084
4 2026-01-01 00:01:20.000000 35.931084
5 2026-01-01 00:01:40.000000 60.923838
6 2026-01-01 00:02:00.000000 39.377955
7 2026-01-01 00:02:20.000000 40.907261
8 2026-01-01 00:02:40.000000 50.990241
9 2026-01-01 00:03:00.000000 71.014799
10 2026-01-01 00:03:20.000000 96.052623
11 2026-01-01 00:03:40.000000 45.662111
12 2026-01-01 00:04:00.000000 42.765152
13 2026-01-01 00:04:20.000000 11.346370
14 2026-01-01 00:04:40.000000 21.789887
15 2026-01-01 00:05:00.000000 95.747207
16 2026-01-01 00:05:20.000000 94.335072
17 2026-01-01 00:05:40.000000 88.182428
18 2026-01-01 00:06:00.000000 64.641056

Now, we set keep=False to remove all time value pairs not inside our imported dataframe.

overwrite=True still, because we do not want the time-index matched rows to be completley reinserted, just their values updated.

[26]:
df_measured_variable_table_1 = s3s.insert_dataframe_into_time_table(time_table_tk=measured_variable_table_1, dataframe=df, overwrite=True, keep=False)
[2026-06-01 14:46:32,034] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Validating input data ...
[2026-06-01 14:46:32,169] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Successfully validated input data.
[2026-06-01 14:46:32,181] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:32,184] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:32,184] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:32,202] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:32,245] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,247] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 380.0 with value 29.12291 and tk 5286908254793078596 ...
[2026-06-01 14:46:32,252] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,253] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 400.0 with value 61.18529 and tk 5239486905614020349 ...
[2026-06-01 14:46:32,257] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,259] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 420.0 with value 13.94939 and tk 5452404597142364466 ...
[2026-06-01 14:46:32,262] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,264] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 440.0 with value 29.21446 and tk 5200668954288433337 ...
[2026-06-01 14:46:32,265] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,268] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 460.0 with value 36.63618 and tk 5688570984205172557 ...
[2026-06-01 14:46:32,272] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,273] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 480.0 with value 45.607 and tk 5511693225148222410 ...
[2026-06-01 14:46:32,278] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,279] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 500.0 with value 78.51759 and tk 4879785364487089689 ...
[2026-06-01 14:46:32,283] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,284] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 520.0 with value 19.96738 and tk 5556811585222757218 ...
[2026-06-01 14:46:32,285] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,290] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 540.0 with value 51.42344 and tk 4658620214979422299 ...
[2026-06-01 14:46:32,294] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,296] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 560.0 with value 59.24146 and tk 5414238948993259824 ...
[2026-06-01 14:46:32,299] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,299] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 580.0 with value 4.645041 and tk 5247215439932537426 ...
[2026-06-01 14:46:32,302] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,305] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 600.0 with value 60.75449 and tk 5354833806071329616 ...
[2026-06-01 14:46:32,310] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,310] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 0.0 with new value 83.48421486656494 at tk 4625831370746248697 ...
[2026-06-01 14:46:32,310] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,310] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 20.0 with new value 10.479610436986974 at tk 4655908162597039876 ...
[2026-06-01 14:46:32,319] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,321] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 40.0 with new value 74.46404816795177 at tk 5734066045313944363 ...
[2026-06-01 14:46:32,323] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,326] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 60.0 with new value 36.050083625628574 at tk 5368535497299875319 ...
[2026-06-01 14:46:32,330] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,331] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 80.0 with new value 35.93108378080719 at tk 5699739914269006414 ...
[2026-06-01 14:46:32,334] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,336] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 100.0 with new value 60.923838061815175 at tk 4643909720047781597 ...
[2026-06-01 14:46:32,338] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,342] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 120.0 with new value 39.377955108825134 at tk 5610620583249502886 ...
[2026-06-01 14:46:32,344] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,344] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 140.0 with new value 40.90726098608987 at tk 5747418083827855209 ...
[2026-06-01 14:46:32,344] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,344] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 160.0 with new value 50.99024095896064 at tk 5611081131852672740 ...
[2026-06-01 14:46:32,352] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,357] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 180.0 with new value 71.01479933270734 at tk 5163704987402972986 ...
[2026-06-01 14:46:32,359] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,362] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 200.0 with new value 96.05262252056673 at tk 5653535470062808950 ...
[2026-06-01 14:46:32,362] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,362] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 220.0 with new value 45.662110893893725 at tk 5720321945947745964 ...
[2026-06-01 14:46:32,369] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,371] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 240.0 with new value 42.7651521061609 at tk 4632712025463895188 ...
[2026-06-01 14:46:32,373] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,376] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 260.0 with new value 11.34637011199704 at tk 4781404444982733808 ...
[2026-06-01 14:46:32,378] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,378] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 280.0 with new value 21.789886934652415 at tk 4771703416782823826 ...
[2026-06-01 14:46:32,382] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,384] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 300.0 with new value 95.74720690679173 at tk 4780513761930500972 ...
[2026-06-01 14:46:32,387] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,389] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 320.0 with new value 94.3350720404395 at tk 5463689616861961669 ...
[2026-06-01 14:46:32,390] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,393] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 340.0 with new value 88.18242811564977 at tk 5228397547015722967 ...
[2026-06-01 14:46:32,397] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,397] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Overwriting row at time delta 360.0 with new value 64.64105624033934 at tk 5446779899707687465 ...
[2026-06-01 14:46:32,397] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:32,407] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:32,409] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:32,423] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[27]:
df_measured_variable_table_1
[27]:
tk WERT operation_flag
Zeit [s]
0.0 4625831370746248697 83.48421 overwritten
20.0 4655908162597039876 10.47961 overwritten
40.0 5734066045313944363 74.46405 overwritten
60.0 5368535497299875319 36.05008 overwritten
80.0 5699739914269006414 35.93108 overwritten
100.0 4643909720047781597 60.92384 overwritten
120.0 5610620583249502886 39.37796 overwritten
140.0 5747418083827855209 40.90726 overwritten
160.0 5611081131852672740 50.99024 overwritten
180.0 5163704987402972986 71.01480 overwritten
200.0 5653535470062808950 96.05262 overwritten
220.0 5720321945947745964 45.66211 overwritten
240.0 4632712025463895188 42.76515 overwritten
260.0 4781404444982733808 11.34637 overwritten
280.0 4771703416782823826 21.78989 overwritten
300.0 4780513761930500972 95.74721 overwritten
320.0 5463689616861961669 94.33508 overwritten
340.0 5228397547015722967 88.18243 overwritten
360.0 5446779899707687465 64.64106 overwritten

Import values - partly reinsert Time Table (keep others)

Now let’s pretend we have some new data for the 2 to 6 min time frame, we want to reinsert those value pairs and keep other time value pairs, that are not in that timeframe.

[28]:
# Create time vector: 120 to 360 seconds, step 20
time_seconds = np.arange(120, 361, 20)

# Create variable values between 0 and 100
np.random.seed(45)
werte = np.random.rand(len(time_seconds)) * 100

YEAR = 2026
DATE = datetime(YEAR, 1, 1)  # constant date for all entries

rows = []

for t, w in zip(time_seconds, werte):
    timestamp = DATE + timedelta(seconds=int(t))
    tag = timestamp.strftime("%Y-%m-%d")
    uhrzeit = timestamp.strftime("%H:%M:%S.%f")

    rows.append({
        "TAG": tag,
        "UHRZEIT": uhrzeit,
        "WERT": w
    })

# Build DataFrame
df = pd.DataFrame(rows, columns=["TAG", "UHRZEIT", "WERT"])
[29]:
df
[29]:
TAG UHRZEIT WERT
0 2026-01-01 00:02:00.000000 98.901151
1 2026-01-01 00:02:20.000000 54.954473
2 2026-01-01 00:02:40.000000 28.144730
3 2026-01-01 00:03:00.000000 7.728957
4 2026-01-01 00:03:20.000000 44.446950
5 2026-01-01 00:03:40.000000 47.280797
6 2026-01-01 00:04:00.000000 4.852200
7 2026-01-01 00:04:20.000000 16.332445
8 2026-01-01 00:04:40.000000 11.595071
9 2026-01-01 00:05:00.000000 62.739168
10 2026-01-01 00:05:20.000000 85.618205
11 2026-01-01 00:05:40.000000 65.010242
12 2026-01-01 00:06:00.000000 99.072168

Now, we overwrite=False the timeframe that overlaps with the already existing time tables will be completley reinserted, so every old row will be deleted and a new one created (longer import time).

[30]:
df_measured_variable_table_1 = s3s.insert_dataframe_into_time_table(time_table_tk=measured_variable_table_1, dataframe=df, overwrite=False, keep=True)
[2026-06-01 14:46:32,672] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Validating input data ...
[2026-06-01 14:46:32,760] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Successfully validated input data.
[2026-06-01 14:46:32,779] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:32,785] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:32,788] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:32,801] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:32,812] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,814] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 120.0 with value 39.37796 and tk 5610620583249502886 ...
[2026-06-01 14:46:32,817] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,820] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 140.0 with value 40.90726 and tk 5747418083827855209 ...
[2026-06-01 14:46:32,824] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,826] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 160.0 with value 50.99024 and tk 5611081131852672740 ...
[2026-06-01 14:46:32,831] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,833] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 180.0 with value 71.0148 and tk 5163704987402972986 ...
[2026-06-01 14:46:32,837] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,839] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 200.0 with value 96.05262 and tk 5653535470062808950 ...
[2026-06-01 14:46:32,843] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,844] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 220.0 with value 45.66211 and tk 5720321945947745964 ...
[2026-06-01 14:46:32,848] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,850] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 240.0 with value 42.76515 and tk 4632712025463895188 ...
[2026-06-01 14:46:32,853] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,853] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 260.0 with value 11.34637 and tk 4781404444982733808 ...
[2026-06-01 14:46:32,859] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,861] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 280.0 with value 21.78989 and tk 4771703416782823826 ...
[2026-06-01 14:46:32,866] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,868] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 300.0 with value 95.74721 and tk 4780513761930500972 ...
[2026-06-01 14:46:32,873] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,875] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 320.0 with value 94.33508 and tk 5463689616861961669 ...
[2026-06-01 14:46:32,879] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,880] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 340.0 with value 88.18243 and tk 5228397547015722967 ...
[2026-06-01 14:46:32,886] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:32,888] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 360.0 with value 64.64106 and tk 5446779899707687465 ...
[2026-06-01 14:46:32,893] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4845398475573047478
[2026-06-01 14:46:32,896] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,900] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,903] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 120.0 with value 98.90115134756002 at tk 4845398475573047478 ...
[2026-06-01 14:46:32,907] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4619945517354299975
[2026-06-01 14:46:32,911] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,914] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,915] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 140.0 with value 54.95447268447254 at tk 4619945517354299975 ...
[2026-06-01 14:46:32,920] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5238186237275563686
[2026-06-01 14:46:32,923] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,923] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,930] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 160.0 with value 28.144730195506284 at tk 5238186237275563686 ...
[2026-06-01 14:46:32,933] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5318428715684229981
[2026-06-01 14:46:32,938] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,942] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,944] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 180.0 with value 7.7289566079172705 at tk 5318428715684229981 ...
[2026-06-01 14:46:32,946] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4741182231160753198
[2026-06-01 14:46:32,948] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,954] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,958] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 200.0 with value 44.44694959718031 at tk 4741182231160753198 ...
[2026-06-01 14:46:32,961] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5712344022191401309
[2026-06-01 14:46:32,963] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,967] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,970] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 220.0 with value 47.28079697554853 at tk 5712344022191401309 ...
[2026-06-01 14:46:32,975] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5539478138019904190
[2026-06-01 14:46:32,977] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,980] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,983] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 240.0 with value 4.852200090644587 at tk 5539478138019904190 ...
[2026-06-01 14:46:32,989] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4675021295245448725
[2026-06-01 14:46:32,992] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,996] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:32,997] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 260.0 with value 16.332444820826673 at tk 4675021295245448725 ...
[2026-06-01 14:46:32,999] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5742118191359839897
[2026-06-01 14:46:33,001] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,005] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,007] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 280.0 with value 11.595071149794444 at tk 5742118191359839897 ...
[2026-06-01 14:46:33,009] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5387000855755282677
[2026-06-01 14:46:33,013] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,016] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,019] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 300.0 with value 62.739168270442605 at tk 5387000855755282677 ...
[2026-06-01 14:46:33,023] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5107335838286294898
[2026-06-01 14:46:33,026] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,027] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,030] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 320.0 with value 85.61820485956244 at tk 5107335838286294898 ...
[2026-06-01 14:46:33,033] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5430902319404174525
[2026-06-01 14:46:33,035] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,038] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,040] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 340.0 with value 65.01024210875525 at tk 5430902319404174525 ...
[2026-06-01 14:46:33,044] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5674464176306538342
[2026-06-01 14:46:33,045] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,047] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,049] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 360.0 with value 99.07216847578 at tk 5674464176306538342 ...
[2026-06-01 14:46:33,050] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 0.0 with value 83.48421 at tk 4625831370746248697 ...
[2026-06-01 14:46:33,051] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 20.0 with value 10.47961 at tk 4655908162597039876 ...
[2026-06-01 14:46:33,051] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 40.0 with value 74.46405 at tk 5734066045313944363 ...
[2026-06-01 14:46:33,057] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 60.0 with value 36.05008 at tk 5368535497299875319 ...
[2026-06-01 14:46:33,057] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 80.0 with value 35.93108 at tk 5699739914269006414 ...
[2026-06-01 14:46:33,057] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Keeping row at time delta 100.0 with value 60.92384 at tk 4643909720047781597 ...
[2026-06-01 14:46:33,057] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:33,071] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:33,074] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:33,090] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[31]:
df_measured_variable_table_1
[31]:
tk WERT operation_flag
Zeit [s]
0.0 4625831370746248697 83.484210 kept
20.0 4655908162597039876 10.479610 kept
40.0 5734066045313944363 74.464050 kept
60.0 5368535497299875319 36.050080 kept
80.0 5699739914269006414 35.931080 kept
100.0 4643909720047781597 60.923840 kept
120.0 4845398475573047478 98.901150 inserted
140.0 4619945517354299975 54.954470 inserted
160.0 5238186237275563686 28.144730 inserted
180.0 5318428715684229981 7.728957 inserted
200.0 4741182231160753198 44.446950 inserted
220.0 5712344022191401309 47.280800 inserted
240.0 5539478138019904190 4.852200 inserted
260.0 4675021295245448725 16.332450 inserted
280.0 5742118191359839897 11.595070 inserted
300.0 5387000855755282677 62.739170 inserted
320.0 5107335838286294898 85.618200 inserted
340.0 5430902319404174525 65.010240 inserted
360.0 5674464176306538342 99.072170 inserted

Import values - completley reinsert Time Table (dont’t keep others)

Now let’s pretend we have some new data for the 0 to 8 min time frame, we want to reinsert those value pairs and don’t keep other time value pairs, that are not in that timeframe.

[32]:
# Create time vector: 0 to 480 seconds, step 20
time_seconds = np.arange(0, 481, 20)

# Create variable values between 0 and 100
np.random.seed(46)
werte = np.random.rand(len(time_seconds)) * 100

YEAR = 2026
DATE = datetime(YEAR, 1, 1)  # constant date for all entries

rows = []

for t, w in zip(time_seconds, werte):
    timestamp = DATE + timedelta(seconds=int(t))
    tag = timestamp.strftime("%Y-%m-%d")
    uhrzeit = timestamp.strftime("%H:%M:%S.%f")

    rows.append({
        "TAG": tag,
        "UHRZEIT": uhrzeit,
        "WERT": w
    })

# Build DataFrame
df = pd.DataFrame(rows, columns=["TAG", "UHRZEIT", "WERT"])
[33]:
df
[33]:
TAG UHRZEIT WERT
0 2026-01-01 00:00:00.000000 78.383235
1 2026-01-01 00:00:20.000000 63.483371
2 2026-01-01 00:00:40.000000 24.904309
3 2026-01-01 00:01:00.000000 75.807586
4 2026-01-01 00:01:20.000000 31.307694
5 2026-01-01 00:01:40.000000 93.723736
6 2026-01-01 00:02:00.000000 4.286545
7 2026-01-01 00:02:20.000000 44.086720
8 2026-01-01 00:02:40.000000 91.272229
9 2026-01-01 00:03:00.000000 45.500392
10 2026-01-01 00:03:20.000000 50.793434
11 2026-01-01 00:03:40.000000 8.490795
12 2026-01-01 00:04:00.000000 42.634979
13 2026-01-01 00:04:20.000000 74.571696
14 2026-01-01 00:04:40.000000 86.708140
15 2026-01-01 00:05:00.000000 32.366583
16 2026-01-01 00:05:20.000000 10.407440
17 2026-01-01 00:05:40.000000 80.210805
18 2026-01-01 00:06:00.000000 39.483195
19 2026-01-01 00:06:20.000000 62.776809
20 2026-01-01 00:06:40.000000 3.598854
21 2026-01-01 00:07:00.000000 29.990785
22 2026-01-01 00:07:20.000000 4.765322
23 2026-01-01 00:07:40.000000 37.221108
24 2026-01-01 00:08:00.000000 26.241520

Now, we use overwrite=False and keep=False, which represent a complete wipe and reinsert of the time table.

[34]:
df_measured_variable_table_1 = s3s.insert_dataframe_into_time_table(time_table_tk=measured_variable_table_1, dataframe=df, overwrite=False, keep=False)
[2026-06-01 14:46:33,458] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Validating input data ...
[2026-06-01 14:46:33,569] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Successfully validated input data.
[2026-06-01 14:46:33,589] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:33,596] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:33,598] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:33,611] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:33,621] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,624] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 0.0 with value 83.48421 and tk 4625831370746248697 ...
[2026-06-01 14:46:33,629] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,631] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 20.0 with value 10.47961 and tk 4655908162597039876 ...
[2026-06-01 14:46:33,634] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,638] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 40.0 with value 74.46405 and tk 5734066045313944363 ...
[2026-06-01 14:46:33,642] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,643] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 60.0 with value 36.05008 and tk 5368535497299875319 ...
[2026-06-01 14:46:33,649] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,652] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 80.0 with value 35.93108 and tk 5699739914269006414 ...
[2026-06-01 14:46:33,657] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,660] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 100.0 with value 60.92384 and tk 4643909720047781597 ...
[2026-06-01 14:46:33,664] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,666] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 120.0 with value 98.90115 and tk 4845398475573047478 ...
[2026-06-01 14:46:33,672] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,675] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 140.0 with value 54.95447 and tk 4619945517354299975 ...
[2026-06-01 14:46:33,679] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,681] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 160.0 with value 28.14473 and tk 5238186237275563686 ...
[2026-06-01 14:46:33,684] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,686] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 180.0 with value 7.728957 and tk 5318428715684229981 ...
[2026-06-01 14:46:33,693] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,693] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 200.0 with value 44.44695 and tk 4741182231160753198 ...
[2026-06-01 14:46:33,693] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,693] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 220.0 with value 47.2808 and tk 5712344022191401309 ...
[2026-06-01 14:46:33,702] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,707] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 240.0 with value 4.8522 and tk 5539478138019904190 ...
[2026-06-01 14:46:33,711] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,711] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 260.0 with value 16.33245 and tk 4675021295245448725 ...
[2026-06-01 14:46:33,720] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,724] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 280.0 with value 11.59507 and tk 5742118191359839897 ...
[2026-06-01 14:46:33,727] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,730] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 300.0 with value 62.73917 and tk 5387000855755282677 ...
[2026-06-01 14:46:33,736] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,737] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 320.0 with value 85.6182 and tk 5107335838286294898 ...
[2026-06-01 14:46:33,740] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,745] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 340.0 with value 65.01024 and tk 5430902319404174525 ...
[2026-06-01 14:46:33,749] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[2026-06-01 14:46:33,749] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Deleting row at time delta 360.0 with value 99.07217 and tk 5674464176306538342 ...
[2026-06-01 14:46:33,753] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4663554166092321521
[2026-06-01 14:46:33,760] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,760] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,760] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 0.0 with value 78.38323508057506 at tk 4663554166092321521 ...
[2026-06-01 14:46:33,769] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5565382602261745658
[2026-06-01 14:46:33,773] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,779] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,780] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 20.0 with value 63.48337060527302 at tk 5565382602261745658 ...
[2026-06-01 14:46:33,786] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4852800308062839707
[2026-06-01 14:46:33,790] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,793] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,796] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 40.0 with value 24.90430915157489 at tk 4852800308062839707 ...
[2026-06-01 14:46:33,799] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4621371005516865100
[2026-06-01 14:46:33,802] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,807] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,807] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 60.0 with value 75.80758646498177 at tk 4621371005516865100 ...
[2026-06-01 14:46:33,807] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5581743034223943048
[2026-06-01 14:46:33,807] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,820] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,823] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 80.0 with value 31.30769356316798 at tk 5581743034223943048 ...
[2026-06-01 14:46:33,828] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5492231644663222835
[2026-06-01 14:46:33,828] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,835] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,836] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 100.0 with value 93.72373574883976 at tk 5492231644663222835 ...
[2026-06-01 14:46:33,842] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5341795234927414915
[2026-06-01 14:46:33,844] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,849] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,851] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 120.0 with value 4.286544835226391 at tk 5341795234927414915 ...
[2026-06-01 14:46:33,857] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5673671612948406176
[2026-06-01 14:46:33,859] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,859] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,859] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 140.0 with value 44.08672034298044 at tk 5673671612948406176 ...
[2026-06-01 14:46:33,872] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4619303235338087408
[2026-06-01 14:46:33,875] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,875] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,875] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 160.0 with value 91.27222899351976 at tk 4619303235338087408 ...
[2026-06-01 14:46:33,885] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5031890359644845287
[2026-06-01 14:46:33,886] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,890] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,894] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 180.0 with value 45.50039189267788 at tk 5031890359644845287 ...
[2026-06-01 14:46:33,898] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4649302746047630482
[2026-06-01 14:46:33,898] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,902] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,906] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 200.0 with value 50.79343407037916 at tk 4649302746047630482 ...
[2026-06-01 14:46:33,909] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5012801529198414899
[2026-06-01 14:46:33,910] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,913] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,915] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 220.0 with value 8.490795479470014 at tk 5012801529198414899 ...
[2026-06-01 14:46:33,920] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4935322990405628618
[2026-06-01 14:46:33,923] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,926] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,927] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 240.0 with value 42.63497910655377 at tk 4935322990405628618 ...
[2026-06-01 14:46:33,930] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4913360275536566558
[2026-06-01 14:46:33,930] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,938] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,940] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 260.0 with value 74.5716959693872 at tk 4913360275536566558 ...
[2026-06-01 14:46:33,943] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5186624525078814185
[2026-06-01 14:46:33,946] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,947] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,951] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 280.0 with value 86.70813956107902 at tk 5186624525078814185 ...
[2026-06-01 14:46:33,956] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4951993661591769476
[2026-06-01 14:46:33,959] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,961] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,963] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 300.0 with value 32.366582690067055 at tk 4951993661591769476 ...
[2026-06-01 14:46:33,965] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5459532079441742098
[2026-06-01 14:46:33,969] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,971] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,973] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 320.0 with value 10.407439731328827 at tk 5459532079441742098 ...
[2026-06-01 14:46:33,979] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5586042234104837266
[2026-06-01 14:46:33,981] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,984] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,986] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 340.0 with value 80.21080468534471 at tk 5586042234104837266 ...
[2026-06-01 14:46:33,990] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5572930345241612915
[2026-06-01 14:46:33,992] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,995] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:33,997] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 360.0 with value 39.483194918011776 at tk 5572930345241612915 ...
[2026-06-01 14:46:34,000] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4646816525717604720
[2026-06-01 14:46:34,004] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,008] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,010] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 380.0 with value 62.776808823418975 at tk 4646816525717604720 ...
[2026-06-01 14:46:34,013] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5443365550754505025
[2026-06-01 14:46:34,016] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,019] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,021] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 400.0 with value 3.5988543599700717 at tk 5443365550754505025 ...
[2026-06-01 14:46:34,025] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5262747792998593152
[2026-06-01 14:46:34,027] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,032] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,033] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 420.0 with value 29.99078500215354 at tk 5262747792998593152 ...
[2026-06-01 14:46:34,038] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5287755538526837532
[2026-06-01 14:46:34,042] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,046] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,047] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 440.0 with value 4.765321960403323 at tk 5287755538526837532 ...
[2026-06-01 14:46:34,052] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 5551779005281988905
[2026-06-01 14:46:34,056] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,059] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,061] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 460.0 with value 37.22110778061251 at tk 5551779005281988905 ...
[2026-06-01 14:46:34,065] INFO in sir3stoolkit.core.wrapper: Row is added to the table with Tk: 4708543006193750750
[2026-06-01 14:46:34,069] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,072] INFO in sir3stoolkit.core.wrapper: Value is set
[2026-06-01 14:46:34,075] INFO in sir3stoolkit.mantle.dataframes: [insert dataframe into time table] Inserting row at time delta 480.0 with value 26.24151964281971 at tk 4708543006193750750 ...
[2026-06-01 14:46:34,077] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:34,082] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:34,085] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:34,093] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[35]:
df_measured_variable_table_1
[35]:
tk WERT operation_flag
Zeit [s]
0.0 4663554166092321521 78.383230 inserted
20.0 5565382602261745658 63.483370 inserted
40.0 4852800308062839707 24.904310 inserted
60.0 4621371005516865100 75.807590 inserted
80.0 5581743034223943048 31.307690 inserted
100.0 5492231644663222835 93.723730 inserted
120.0 5341795234927414915 4.286545 inserted
140.0 5673671612948406176 44.086720 inserted
160.0 4619303235338087408 91.272230 inserted
180.0 5031890359644845287 45.500390 inserted
200.0 4649302746047630482 50.793430 inserted
220.0 5012801529198414899 8.490795 inserted
240.0 4935322990405628618 42.634980 inserted
260.0 4913360275536566558 74.571690 inserted
280.0 5186624525078814185 86.708140 inserted
300.0 4951993661591769476 32.366580 inserted
320.0 5459532079441742098 10.407440 inserted
340.0 5586042234104837266 80.210810 inserted
360.0 5572930345241612915 39.483200 inserted
380.0 4646816525717604720 62.776810 inserted
400.0 5443365550754505025 3.598854 inserted
420.0 5262747792998593152 29.990790 inserted
440.0 5287755538526837532 4.765322 inserted
460.0 5551779005281988905 37.221110 inserted
480.0 4708543006193750750 26.241520 inserted
[36]:
s3s.EndEditSession()
[2026-06-01 14:46:34,669] INFO in sir3stoolkit.core.wrapper: Edit Session has ended. Please open up a new session if you want to make further changes

View measured value tables

[37]:
def view_non_value_data_of_measured_variable_table(measured_variable_table_tk):
    name = s3s.GetValue(Tk=measured_variable_table_tk, propertyName="Name")[0]
    intpol = s3s.GetValue(Tk=measured_variable_table_tk, propertyName="Intpol")[0]
    if intpol == "0":
        intpol_clear = "linear"
    elif intpol == "9":
        intpol_clear = "step function"
    else:
        intpol_clear = "invalid intpol"
    print(f"Tk: {measured_variable_table_tk}, Name: {name}, Interpolation scheme: {intpol_clear}")

We can use the get_dataframes_from_time_table_type() method to obtain a df containing all dfs of a certain time table type (eg. MeasuredVariableTable), a dict with all individual dfs and their tk keys.

[38]:
df_h, table_dfs, table_tks = s3s.get_dataframes_from_time_table_type("MeasuredVariableTable")
[2026-06-01 14:46:34,828] INFO in sir3stoolkit.mantle.dataframes: [get dataframes from time table type] ...
[2026-06-01 14:46:34,838] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4690496339163833971)...
[2026-06-01 14:46:34,844] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:34,844] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:34,909] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:34,912] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4775965132419647289)...
[2026-06-01 14:46:34,919] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:34,921] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:34,927] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:34,931] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=5721839716933060230)...
[2026-06-01 14:46:34,935] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:34,938] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:34,957] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:34,963] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:34,967] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:34,969] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:34,981] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:34,990] INFO in sir3stoolkit.mantle.dataframes: [get dataframes from time table type] Successful

0

[39]:
table_dfs[table_tks[0]].head(3)
[39]:
tk Variable 2
Zeit [s]
0.0 5706233366353985358 0.0
18.0 5061575663051528766 1.0
22.0 5723804092965624436 0.0
[40]:
view_non_value_data_of_measured_variable_table(table_tks[0])
Tk: 4690496339163833971, Name: Variable 2, Interpolation scheme: step function

1

[41]:
table_dfs[table_tks[1]].head(3)
[41]:
tk Variable 2
Zeit [s]
0.0 5015901035241501518 99999.0
1.0 4931891587393704379 99999.0

As can be seen this is some invalid duplicate, that can be deleted.

[42]:
table_tk_to_delete = table_tks[1]

2

[43]:
table_dfs[table_tks[2]].head(3)
[43]:
tk Variable 3
Zeit [s]
0.0 4755949573138710264 1.0
20.0 5022904585849216719 35.0
40.0 4786929457061842687 57.0
[44]:
view_non_value_data_of_measured_variable_table(table_tks[2])
Tk: 5721839716933060230, Name: Variable 3, Interpolation scheme: linear

3

[45]:
table_dfs[table_tks[3]].head(3)
[45]:
tk Variable 1
Zeit [s]
0.0 4663554166092321521 78.38323
20.0 5565382602261745658 63.48337
40.0 4852800308062839707 24.90431
[46]:
view_non_value_data_of_measured_variable_table(table_tks[3])
Tk: 4866615149030577210, Name: Variable 1, Interpolation scheme: linear

This is the table we created earlier, as can be seen, it worked out fine.

Delete measured variable table

We can delete the faulty duplicate measured variable table as any other element. The rows depending on it will be deleted as well.

[47]:
s3s.DeleteElement(Tk=str(table_tk_to_delete))
[2026-06-01 14:46:35,433] INFO in sir3stoolkit.core.wrapper: Element deleted successfully
[48]:
df_h, table_dfs, table_tks = s3s.get_dataframes_from_time_table_type("MeasuredVariableTable")
[2026-06-01 14:46:35,490] INFO in sir3stoolkit.mantle.dataframes: [get dataframes from time table type] ...
[2026-06-01 14:46:35,497] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4690496339163833971)...
[2026-06-01 14:46:35,503] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:35,508] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:35,542] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:35,552] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=5721839716933060230)...
[2026-06-01 14:46:35,559] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:35,561] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:35,591] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:35,616] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Validating input data (time_table_tk=4866615149030577210)...
[2026-06-01 14:46:35,621] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully validated input data.
[2026-06-01 14:46:35,624] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Building dataframe ...
[2026-06-01 14:46:35,640] INFO in sir3stoolkit.mantle.dataframes: [get dataframe from time table] Successfully built dataframe.
[2026-06-01 14:46:35,690] INFO in sir3stoolkit.mantle.dataframes: [get dataframes from time table type] Successful
[49]:
len(table_dfs)
[49]:
3

Joint view

[50]:
df_h.head(10)
[50]:
Variable 2 Variable 3 Variable 1
Zeit [s]
0.0 0.0 1.0 78.38323
18.0 1.0 NaN NaN
20.0 NaN 35.0 63.48337
22.0 0.0 NaN NaN
39.0 1.0 NaN NaN
40.0 NaN 57.0 24.90431
52.0 0.0 NaN NaN
60.0 NaN 40.0 75.80759
62.0 1.0 NaN NaN
64.0 0.0 NaN NaN
[51]:
s3s.CloseModel(False)
[51]:
True