perda.utils.data_summary#
- pydantic model perda.utils.data_summary.DataInstanceSummary[source]#
Bases:
BaseModelSummary statistics for a single DataInstance.
- Fields:
-
field header:
str[Required]# Label / ID / C++ name line of the source DataInstance
-
field count:
int[Required]# Number of data points
-
field first_timestamp:
float= 0.0# Timestamp of the first data point
-
field last_timestamp:
float= 0.0# Timestamp of the last data point
-
field min_value:
float= 0.0# Smallest value
-
field min_timestamp:
float= 0.0# Timestamp at which the minimum occurs
-
field max_value:
float= 0.0# Largest value
-
field max_timestamp:
float= 0.0# Timestamp at which the maximum occurs
-
field average:
float= 0.0# Time-weighted average over the full range
- perda.utils.data_summary.data_instance_summary(data_instance, source_time_unit, target_time_unit=Timescale.S)[source]#
Summarize a DataInstance.
- Parameters:
data_instance (DataInstance) – The DataInstance to summarize
source_time_unit (Timescale) – Time unit of data instance. Pass
aly.data.timestamp_unit.target_time_unit (Timescale, optional) – Time unit used by the summary. Default is Timescale.S.
- Returns:
Statistics for the DataInstance. Printing is left to the caller.
- Return type:
Examples
>>> from perda.utils import data_instance_summary >>> summary = data_instance_summary( ... aly.data["bms.pack.current"], source_time_unit=aly.data.timestamp_unit ... ) >>> str(summary) >>> summary.max_value
- perda.utils.data_summary.single_run_summary(data, time_unit=Timescale.S)[source]#
Print overall information about the SingleRunData.
- Parameters:
data (SingleRunData) – Data structure containing CSV file data
time_unit (Timescale, optional) – Time unit used by the summary. Default is Timescale.S.
- Return type:
None
Notes
This only prints. To keep the text, capture stdout with
contextlib.redirect_stdout.Examples
>>> import io >>> from contextlib import redirect_stdout >>> from perda.utils import single_run_summary >>> buffer = io.StringIO() >>> with redirect_stdout(buffer): ... single_run_summary(aly.data) >>> summary_text = buffer.getvalue()