piel.tools.virtuoso.simulation.data.dc#
Functions#
Converts a DataFrame containing time and data columns into a 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:
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”)
]