From 3493ff6042682f8b8e7b69ec916b6935a1416f46 Mon Sep 17 00:00:00 2001
From: Joerg Martin <joerg.martin@ptb.de>
Date: Mon, 10 Jan 2022 14:46:15 +0000
Subject: [PATCH] Create tabular updated

---
 Experiments/create_tabular.py | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/Experiments/create_tabular.py b/Experiments/create_tabular.py
index 15e4f82..728b6e5 100644
--- a/Experiments/create_tabular.py
+++ b/Experiments/create_tabular.py
@@ -3,7 +3,7 @@ import glob
 import argparse
 import json
 
-metrics_to_display = ['rmse','logdens','bias','true_coverage_numerical']
+metrics_to_display = ['rmse','logdens','bias','true_coverage_numerical','avg_bias']
 show_incomplete = True
 
 list_of_result_files = glob.glob(os.path.join('results','*.json'))
@@ -19,7 +19,13 @@ def save_readout(dictionary, key):
     the later doesn't exist, in which case (None,None) is returned.
     """
     try:
-        return dictionary[key]
+        readout = dictionary[key]
+        if type(readout) is list:
+            assert len(readout) == 2
+            return readout
+        else:
+            readout = float(readout)
+            return (readout, None)
     except KeyError:
         return (None,None)
 
@@ -40,7 +46,10 @@ for data in results.keys():
         if metric_mean is None:
             noneiv_results_string += '  None (None)'
         else:
-            noneiv_results_string += f'  {metric_mean:.3f} ({metric_std:.3f})'
+            if metric_std is not None:
+                noneiv_results_string += f'  {metric_mean:.3f} ({metric_std:.3f})'
+            else:
+                noneiv_results_string += f'  {metric_mean:.3f} (NaN)'
     print(noneiv_results_string)
     eiv_results = [save_readout(results[data]['eiv'],metric)
             for metric in metrics_to_display]
@@ -50,7 +59,10 @@ for data in results.keys():
         if metric_mean is None:
             eiv_results_string += '  None (None)'
         else:
-            eiv_results_string += f'  {metric_mean:.3f} ({metric_std:.3f})'
+            if metric_std is not None:
+                eiv_results_string += f'  {metric_mean:.3f} ({metric_std:.3f})'
+            else:
+                eiv_results_string += f'  {metric_mean:.3f} (NaN)'
     print(eiv_results_string)
     print(offset * '_' + 70 * '_')
 
-- 
GitLab