PyDPEET 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pydpeet-0.3.0/src/PyDPEET.egg-info → pydpeet-0.3.1}/PKG-INFO +4 -4
- {pydpeet-0.3.0 → pydpeet-0.3.1}/pyproject.toml +9 -4
- {pydpeet-0.3.0 → pydpeet-0.3.1/src/PyDPEET.egg-info}/PKG-INFO +4 -4
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/PyDPEET.egg-info/requires.txt +1 -1
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_4_20_6_236/reader.py +18 -4
- {pydpeet-0.3.0 → pydpeet-0.3.1}/AUTHORS.md +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/LICENCE.md +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/README.md +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/setup.cfg +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/PyDPEET.egg-info/SOURCES.txt +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/PyDPEET.egg-info/dependency_links.txt +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/PyDPEET.egg-info/top_level.txt +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/citations/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/citations/citeme.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/citations/html_writer.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/dev_utils/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/dev_utils/check_test_coverge/check_test_coverage.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/dev_utils/generate_inits/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/dev_utils/generate_inits/generate_inits.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/configs/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/configs/config.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/configs/const.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/convert.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_4_23_PV090331/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_4_23_PV090331/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_4_23_PV090331/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_4_23_PV090331/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_8_00_PV221201/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_8_00_PV221201/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_8_00_PV221201/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/arbin_8_00_PV221201/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/basytec_6_3_1_0/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/basytec_6_3_1_0/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/basytec_6_3_1_0/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/basytec_6_3_1_0/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_4_20_6_236/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_4_20_6_236/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_4_20_6_236/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_eis_4_20_6_236/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_eis_4_20_6_236/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_eis_4_20_6_236/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/digatron_eis_4_20_6_236/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/neware_8_0_0_516/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/neware_8_0_0_516/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/neware_8_0_0_516/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/neware_8_0_0_516/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/parstat_2_63_3/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/parstat_2_63_3/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/parstat_2_63_3/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/parstat_2_63_3/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/safion_1_9/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/safion_1_9/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/safion_1_9/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/safion_1_9/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner_new/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner_new/formatter.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner_new/mapper.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/device/zahner_new/reader.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/map.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/read.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/utils/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/utils/ext_path.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/utils/formatter_utils.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/utils/load_custom_module.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/utils/timing.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/io/write.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/average.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/capacity.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/configs/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/configs/battery_config.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/configs/ocv_config.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/configs/step_analyzer_config.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/cycle.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/efficiency.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/energy.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/extract/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/extract/dva_ica.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/extract/ocv.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/power.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/resistance.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/soc.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/soh.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/analyze/utils.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/merge/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/merge/series.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/configs/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/configs/config.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/step_analyzer.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/annotate/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/annotate/annotate_primitives.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/configs/CONFIG_Fallback.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/configs/CONFIG_preprocessing.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/configs/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/console_prints/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/console_prints/log_time.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/postprocessing/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/postprocessing/df_primitives_correction.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/postprocessing/filter_df.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/postprocessing/generate_instructions.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/preprocessing/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/preprocessing/calculate_thresholds.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/analyze_segments.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/attempt_to_merge_neighboring_segments.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/check_CV_results.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/check_power_zero_watt_segments.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/check_zero_length.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/split_in_segments.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/supress_smaller_segments.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/widen_constant_segments.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/visualize/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/visualize/visualize_data.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/res/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/res/res_for_unittests/res.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/settings.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/utils/__init__.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/utils/assert_raises_and_print.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/utils/guardrails.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/utils/logging_style.py +0 -0
- {pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/version.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyDPEET
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Python package to read, unify, and convert battery measurement data from arbitrary battery cyclers to Parquet files. This package also provides functions to process, evaluate, and visualise the standardised data.
|
|
5
|
-
Author: Alexander Günter Hinrichsen, Jan Kalisch, Daniel Schröder, Cataldo De Simone
|
|
6
|
-
|
|
5
|
+
Author: Anton Schlösser, Martin Otto, Alexander Günter Hinrichsen, Jan Kalisch, Daniel Schröder, Cataldo De Simone
|
|
6
|
+
Maintainer-email: PyDPEET Team <pydpeet@eet.tu-berlin.de>
|
|
7
7
|
Requires-Python: >=3.12
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENCE.md
|
|
@@ -11,7 +11,7 @@ License-File: AUTHORS.md
|
|
|
11
11
|
Requires-Dist: pandas==2.2.3
|
|
12
12
|
Requires-Dist: numpy==2.2.4
|
|
13
13
|
Requires-Dist: pyarrow==19.0.1
|
|
14
|
-
Requires-Dist: python-calamine
|
|
14
|
+
Requires-Dist: python-calamine>=0.3.1
|
|
15
15
|
Requires-Dist: numba==0.64.0
|
|
16
16
|
Requires-Dist: matplotlib==3.10.8
|
|
17
17
|
Requires-Dist: scipy==1.17.1
|
|
@@ -4,21 +4,26 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "PyDPEET"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.1"
|
|
8
8
|
description = "Python package to read, unify, and convert battery measurement data from arbitrary battery cyclers to Parquet files. This package also provides functions to process, evaluate, and visualise the standardised data."
|
|
9
9
|
authors = [
|
|
10
|
-
{ name = "Anton Schlösser"
|
|
11
|
-
{ name = "Martin Otto"
|
|
10
|
+
{ name = "Anton Schlösser" },
|
|
11
|
+
{ name = "Martin Otto" },
|
|
12
12
|
{ name = "Alexander Günter Hinrichsen" },
|
|
13
13
|
{ name = "Jan Kalisch" },
|
|
14
14
|
{ name = "Daniel Schröder" },
|
|
15
15
|
{ name = "Cataldo De Simone" },
|
|
16
16
|
]
|
|
17
|
+
|
|
18
|
+
maintainers = [
|
|
19
|
+
{ name = "PyDPEET Team", email = "pydpeet@eet.tu-berlin.de" },
|
|
20
|
+
]
|
|
21
|
+
|
|
17
22
|
dependencies = [
|
|
18
23
|
"pandas==2.2.3",
|
|
19
24
|
"numpy==2.2.4",
|
|
20
25
|
"pyarrow==19.0.1",
|
|
21
|
-
"python-calamine
|
|
26
|
+
"python-calamine>=0.3.1",
|
|
22
27
|
"numba==0.64.0",
|
|
23
28
|
"matplotlib==3.10.8",
|
|
24
29
|
"scipy==1.17.1",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyDPEET
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Python package to read, unify, and convert battery measurement data from arbitrary battery cyclers to Parquet files. This package also provides functions to process, evaluate, and visualise the standardised data.
|
|
5
|
-
Author: Alexander Günter Hinrichsen, Jan Kalisch, Daniel Schröder, Cataldo De Simone
|
|
6
|
-
|
|
5
|
+
Author: Anton Schlösser, Martin Otto, Alexander Günter Hinrichsen, Jan Kalisch, Daniel Schröder, Cataldo De Simone
|
|
6
|
+
Maintainer-email: PyDPEET Team <pydpeet@eet.tu-berlin.de>
|
|
7
7
|
Requires-Python: >=3.12
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENCE.md
|
|
@@ -11,7 +11,7 @@ License-File: AUTHORS.md
|
|
|
11
11
|
Requires-Dist: pandas==2.2.3
|
|
12
12
|
Requires-Dist: numpy==2.2.4
|
|
13
13
|
Requires-Dist: pyarrow==19.0.1
|
|
14
|
-
Requires-Dist: python-calamine
|
|
14
|
+
Requires-Dist: python-calamine>=0.3.1
|
|
15
15
|
Requires-Dist: numba==0.64.0
|
|
16
16
|
Requires-Dist: matplotlib==3.10.8
|
|
17
17
|
Requires-Dist: scipy==1.17.1
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
|
|
1
3
|
import pandas as pd
|
|
2
4
|
|
|
3
5
|
|
|
@@ -14,7 +16,7 @@ def to_dataframe(input_path: str) -> tuple[pd.DataFrame, str]:
|
|
|
14
16
|
metadata = []
|
|
15
17
|
|
|
16
18
|
# Open the file and process lines
|
|
17
|
-
with open(input_path, encoding="
|
|
19
|
+
with open(input_path, encoding="iso-8859-1") as file:
|
|
18
20
|
# Read metadata until the header line is found
|
|
19
21
|
line = file.readline()
|
|
20
22
|
while not line.startswith("Zeitstempel"):
|
|
@@ -22,11 +24,11 @@ def to_dataframe(input_path: str) -> tuple[pd.DataFrame, str]:
|
|
|
22
24
|
line = file.readline()
|
|
23
25
|
|
|
24
26
|
# Extract headers and remaining data
|
|
25
|
-
headers = line.strip().split("
|
|
26
|
-
data_lines = [row.strip().split("
|
|
27
|
+
headers = line.strip().split(",")
|
|
28
|
+
data_lines = [row.strip().split(",") for row in file if row.strip()]
|
|
27
29
|
|
|
28
30
|
# appending first string from datalines
|
|
29
|
-
metadata.append("
|
|
31
|
+
metadata.append(",".join(data_lines.pop(0)))
|
|
30
32
|
|
|
31
33
|
# Join metadata into a single string
|
|
32
34
|
metadata_str = "\n".join(metadata)
|
|
@@ -37,9 +39,21 @@ def to_dataframe(input_path: str) -> tuple[pd.DataFrame, str]:
|
|
|
37
39
|
# Convert numeric columns to appropriate types
|
|
38
40
|
for col in headers:
|
|
39
41
|
try:
|
|
42
|
+
# Handle duplicate column names by appending an index to duplicates
|
|
43
|
+
cols = pd.Series(df.columns)
|
|
44
|
+
for dup in df.columns[df.columns.duplicated(keep=False)]:
|
|
45
|
+
cols[df.columns.get_loc(dup)] = [
|
|
46
|
+
f"{dup}_{d_idx}" if d_idx != 0 else dup for d_idx in range(df.columns.get_loc(dup).sum())
|
|
47
|
+
]
|
|
48
|
+
df.columns = cols
|
|
49
|
+
|
|
40
50
|
df[col] = pd.to_numeric(df[col])
|
|
41
51
|
except ValueError:
|
|
42
52
|
# Leave non-numeric columns as is
|
|
43
53
|
pass
|
|
44
54
|
|
|
55
|
+
if "T_Batt" not in df.columns:
|
|
56
|
+
df["T_Batt"] = None
|
|
57
|
+
logging.warning("Column 'T_Batt' not found in the data. Filling with None values.")
|
|
58
|
+
|
|
45
59
|
return df, metadata_str
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/dev_utils/check_test_coverge/check_test_coverage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/annotate/annotate_primitives.py
RENAMED
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/configs/CONFIG_Fallback.py
RENAMED
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/configs/CONFIG_preprocessing.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/console_prints/__init__.py
RENAMED
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/console_prints/log_time.py
RENAMED
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/postprocessing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/postprocessing/filter_df.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/preprocessing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/analyze_segments.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/check_CV_results.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/check_zero_length.py
RENAMED
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/processing/split_in_segments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydpeet-0.3.0 → pydpeet-0.3.1}/src/pydpeet/process/sequence/utils/visualize/visualize_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|