From 1ba39449440a5d0e4e1b7039784d4adf2ec5b2d9 Mon Sep 17 00:00:00 2001 From: David de la Iglesia Castro Date: Tue, 2 May 2023 19:53:55 +0200 Subject: [PATCH] api: exp_show: Postprocess empty strings as None. Makes it easier to manipulate when converting to pandas DataFrame. --- dvc/api/experiments.py | 4 ++++ tests/func/api/test_experiments.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/dvc/api/experiments.py b/dvc/api/experiments.py index 536ce4ade..2032539cd 100644 --- a/dvc/api/experiments.py +++ b/dvc/api/experiments.py @@ -83,6 +83,10 @@ def _postprocess(exp_rows): exp_row[k] = float(v_str) except ValueError: exp_row[k] = v_str + + if not exp_row[k]: + exp_row[k] = None + return exp_rows diff --git a/tests/func/api/test_experiments.py b/tests/func/api/test_experiments.py index cbd08e787..afade043c 100644 --- a/tests/func/api/test_experiments.py +++ b/tests/func/api/test_experiments.py @@ -30,3 +30,5 @@ def test_exp_show(tmp_dir, dvc, scm, exp_stage): # noqa: F811 assert exps[0]["metrics.yaml:foo"] == 1.0 # Postprocessing using `None` as fill value assert exps[0]["State"] is None + # Postprocessing empty string as `None` + assert exps[0]["Experiment"] is None