Table of Contents#

  1. Setup

  2. Import and Preprocessing

  3. Add Columns

  4. Extract Features

  5. Plot Results

  6. Export

Setup#

Load PyDPEET and set logging style to “Error” to prevent log spamming.

[ ]:
import pydpeet as eet

eet.set_logging_style("ERROR")

Import and Preprocessing#

  • Import example data

    • Test device: Neware

    • 4 checkups (capacity test, GITT)

    • Calendar ageing

  • Merge the 4 files into one DataFrame for easier processing

  • Add primitive segments, like “CC”,”CV” or “Rest” to the DataFrame and saving in an extra variable

[2]:
dfs = eet.read(config="neware_8_0_0_516", input_path="../../../res/raw")
df_merged = eet.merge_into_series(dfs)
df_segments = eet.add_primitive_segments(df_merged)

Add Columns#

  • Loading the configuration of the used cell (LGM50LT with 4.8 Ah)

  • Adding SOC to the DataFrame

  • Adding internal resistance to the DataFrame

  • Adding the charge throughput to the DataFrame

[3]:
config = eet.lgm50lt_nmc_4800
df_merged = eet.add_soc(df_merged, df_segments, standard_method=eet.SocMethod.WITH_RESET_WHEN_FULL, config=config)
df_merged = eet.add_resistance_internal(df_merged, config=config)
df_merged = eet.process.analyze.capacity.add_charge_throughput(df_merged)

Extract Features#

  • Extract iOCV

[4]:
ocv_data = eet.extract_ocv_iocv(df=df_merged, config=eet.lgm50lt_nmc_4800, visualize=False)

Plot Results#

  • Plotting the results using Matplotlib

[ ]:
from plot_helper import KWB_plot  # noqa

KWB_plot(df_merged, ocv_data)
../../../_images/examples_research_2026_KWB_Usage_Example_10_0.png

Export#

Export data frame to Parquet file.

[6]:
eet.write(df_merged, output_path="./parquet", output_file_name="Test_Output")