piel.tools.virtuoso.simulation.data.dc#

Functions#

dataframe_to_signal_dc_collection(...)

Converts a DataFrame containing time and data columns into a SignalDCCollection.

extract_signals_from_csv(→ piel.types.SignalDCCollection)

Reads a CSV file and extracts time-series signals as a list of DataTimeSignalData objects.

Module Contents#

dataframe_to_signal_dc_collection(df) piel.types.SignalDCCollection[source]#

Converts a DataFrame containing time and data columns into a SignalDCCollection.

This function processes a DataFrame where each signal is represented by a pair of columns: one for input traces (time, ending with “ X”) and one for output traces (data, ending with “ Y”). It constructs SignalDC objects for each valid pair, grouping them into a SignalDCCollection.

Parameters:

df (pd.DataFrame) – A DataFrame with columns representing input traces (‘X’) and output traces (‘Y’) pairs.

Returns:

A collection of DC signals representing inputs and outputs.

Return type:

SignalDCCollection

Example

Input DataFrame:

/out (resistance=1000) X | /out (resistance=1000) Y | /out (resistance=2000) X | /out (resistance=2000) Y ————————-|-------------------------|————————-|————————- 0.0 | 10.0 | 0.0 | 20.0 1.0 | 15.0 | 1.0 | 25.0

Output:
SignalDCCollection(
inputs=[SignalDC(trace_list=[SignalTraceDC(name=”out_resistance_1000_X”, values=[0.0, 1.0]),

SignalTraceDC(name=”out_resistance_2000_X”, values=[0.0, 1.0])])],

outputs=[SignalDC(trace_list=[SignalTraceDC(name=”out_resistance_1000_Y”, values=[10.0, 15.0]),

SignalTraceDC(name=”out_resistance_2000_Y”, values=[20.0, 25.0])])]

)

extract_signals_from_csv(file_path: str) piel.types.SignalDCCollection[source]#

Reads a CSV file and extracts time-series signals as a list of DataTimeSignalData objects.

This function reads the contents of a CSV file into a pandas DataFrame, then converts the DataFrame into a list of DataTimeSignalData objects using the dataframe_to_multi_time_signal_data function.

Parameters:

file_path (str) – The path to the CSV file.

Returns:

A list of DataTimeSignalData objects, where each object represents a time-series signal.

Return type:

MultiDataTimeSignal

Example

If the CSV contains:

Signal1 X,Signal1 Y,Signal2 X,Signal2 Y 0.0,10.0,0.0,20.0 1.0,15.0,1.0,25.0

The output will be:
[

DataTimeSignalData(time_s=[0.0, 1.0], data=[10.0, 15.0], data_name=”Signal1”), DataTimeSignalData(time_s=[0.0, 1.0], data=[20.0, 25.0], data_name=”Signal2”)

]