Tutorial 18 - extract_instructions#

Step 0: Setup the project and prepare the data#

[1]:
from pathlib import Path

import pydpeet as eet

We will use “ERROR” as the logging style for better readability of the notebook

[2]:
eet.set_logging_style("ERROR")
[3]:
standardized_data = eet.read(
    input_path=str(Path.cwd().parent.parent / "res" / "raw_data_from_cyclers" / "Cal_Ageing_Checkup1.xlsx"),
    config=eet.ReadConfig.Neware_8_0_0_516,
)
[4]:
segmented_data = eet.add_primitive_segments(df=standardized_data, config=eet.PrimitiveConfig.DEFAULT)

Step 1: extract_instructions#

[5]:
instructions = eet.extract_instructions(
    df_primitives=segmented_data,
)
[6]:
len(instructions)
[6]:
493
[7]:
instructions[:20]
[7]:
['Charge at 1.440A for 9111.0 seconds',
 'Hold at 4.198V until 0.0A',
 'Discharge at 0.960A until 2.5033V',
 'Hold at 2.500V until 0.0497A',
 'Charge at 0.000A for 59.0 seconds',
 'Charge at 1.438A until 4.2002V',
 'Discharge at 0.300A for 3244.699999999997 seconds',
 'Discharge at 0.960A until 4.1309V',
 'Rest for 359.0 seconds',
 'Discharge at 0.960A until 4.1134V',
 'Rest for 359.0 seconds',
 'Discharge at 0.960A until 4.1003V',
 'Rest for 359.0 seconds',
 'Discharge at 0.960A until 4.0901V',
 'Rest for 359.0 seconds',
 'Discharge at 0.960A until 4.0819V',
 'Rest for 359.0 seconds',
 'Discharge at 0.960A until 4.0751V',
 'Rest for 359.0 seconds',
 'Discharge at 0.960A until 4.0694V']