From 77065231a93afe8bf1bd89baf4aa171b6752d80f Mon Sep 17 00:00:00 2001
From: "[ACC] Elena Operation" <elenaop@cwo-ccc-a1lc.cern.ch>
Date: Tue, 14 May 2024 13:03:58 +0200
Subject: [PATCH] fixing minor bug

---
 datascout/_datascout.py | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/datascout/_datascout.py b/datascout/_datascout.py
index 2540082..4f4421c 100644
--- a/datascout/_datascout.py
+++ b/datascout/_datascout.py
@@ -20,8 +20,6 @@ from pathlib import Path
 ######
 # Functions needed to split 2D arrays
 """
-
-
 def _split_2D_array(val, in_memory=False, split_to_list=False, verbose=False):
     """It converts numpy 2D arrays into either 1D arrays or list of 1D arrays
 
@@ -43,13 +41,19 @@ def _split_2D_array(val, in_memory=False, split_to_list=False, verbose=False):
             newVal = list(val)
         else:
             # (TODO: probably to be done better!!!)
-            auxDim = np.shape(val)[0]
-            # split val, without making data copy
-            auxData = np.split(np.ravel(val), auxDim)
-            # put it in object array
-            newVal = np.empty((auxDim,), dtype=object)
-            for i in range(auxDim):
-                newVal[i] = auxData[i]
+            auxDim0 = np.shape(val)[0]
+            newVal = ''
+            if auxDim0 == 0:
+                if verbose:
+                    print('detected empty 2D array')
+                newVal = np.empty(np.shape(val), dtype=object)
+            else:
+                # split val, without making data copy
+                auxData = np.split(np.ravel(val), auxDim0)
+                # put it in object array
+                newVal = np.empty((auxDim0,), dtype=object)
+                for i in range(auxDim0):
+                    newVal[i] = auxData[i]
         if verbose:
             print("     -----    ")
             print(str(val) + " (" + str(type(val)) + ")")
-- 
GitLab