From 0576415b6ebeebb32ab2074aa06ef95713a14a4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <alan.munoz@ed.ac.uk> Date: Mon, 19 Dec 2022 18:34:47 +0000 Subject: [PATCH] fix(signal): cover empty cases --- src/agora/io/signal.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/agora/io/signal.py b/src/agora/io/signal.py index d3eea4ac..3cfc358f 100644 --- a/src/agora/io/signal.py +++ b/src/agora/io/signal.py @@ -329,19 +329,25 @@ class Signal(BridgeH5): assert path in f, f"{path} not in {f}" dset = f[path] - index_names = copy(self.index_names) + values, index, columns = ([], [], []) + + index_names = copy(self.index_names) valid_names = [lbl for lbl in index_names if lbl in dset.keys()] - index = pd.MultiIndex.from_arrays( - [dset[lbl] for lbl in valid_names], names=valid_names - ) + if valid_names: + + index = pd.MultiIndex.from_arrays( + [dset[lbl] for lbl in valid_names], names=valid_names + ) + + columns = dset.attrs.get("columns", None) # dset.attrs["columns"] + if "timepoint" in dset: + columns = f[path + "/timepoint"][()] - columns = dset.attrs.get("columns", None) # dset.attrs["columns"] - if "timepoint" in dset: - columns = f[path + "/timepoint"][()] + values = f[path + "/values"][()] return pd.DataFrame( - f[path + "/values"][()], + values, index=index, columns=columns, ) -- GitLab