piel.tools.virtuoso.simulation.data.time#
Functions#
Converts a DataFrame containing time and data columns into a list of DataTimeSignalData objects. |
|
|
Reads a CSV file and extracts time-series signals as a list of DataTimeSignalData objects. |
Module Contents#
- dataframe_to_multi_time_signal_data(df) piel.types.MultiDataTimeSignal[source]#
Converts a DataFrame containing time and data columns into a list of DataTimeSignalData objects.
This function processes a DataFrame where each signal is represented by a pair of columns: one for time (ending with “ X”) and one for the corresponding data values (ending with “ Y”). It constructs DataTimeSignalData objects for each valid pair and returns them as a list.
- Parameters:
df (pd.DataFrame) – A DataFrame with columns representing time (‘X’) and data (‘Y’) pairs.
- Returns:
A list of DataTimeSignalData objects, where each object represents a signal.
- Return type:
MultiDataTimeSignal
Example
- Input DataFrame:
Signal1 X | Signal1 Y | Signal2 X | Signal2 Y ——— | ——— | ——— | ——— 0.0 | 10.0 | 0.0 | 20.0 1.0 | 15.0 | 1.0 | 25.0
- Output:
- [
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”)
]
- extract_signals_from_csv(file_path: str) piel.types.MultiDataTimeSignal[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”)
]