Skip to content

Commit 3d7c04c

Browse files
committed
Fix for inheriting source names
1 parent e0663da commit 3d7c04c

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

orangecontrib/single_cell/widgets/load_data.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -764,13 +764,21 @@ def key(var):
764764
metas=sorted(metas, key=key))
765765
concat_data_t = concat_data.transform(domain)
766766
data_t = data.transform(domain)
767-
source_var.values + (source_name, )
767+
768+
new_values = source_var.values + (source_name,)
769+
new_source_var = DiscreteVariable(source_var.name, values=new_values)
770+
new_metas = tuple(var if var.name != source_var.name else new_source_var for var in domain.metas)
771+
new_domain = Domain(domain.attributes, metas=new_metas)
772+
concat_data_t = concat_data_t.transform(new_domain)
773+
data_t = data_t.transform(new_domain)
774+
source_var_index = new_source_var.values.index(source_name)
768775
# metas can be unlocked, source_var added to metas by append_source_name
769776
with data_t.unlocked(data_t.metas):
770-
data_t[:, source_var] = np.full(
771-
(len(data), 1), len(source_var.values) - 1, dtype=object
777+
data_t[:, new_source_var] = np.full(
778+
(len(data_t), 1), source_var_index, dtype=object
772779
)
773780
concat_data = Table.concatenate((concat_data_t, data_t), axis=0)
781+
source_var = new_source_var # Update source_var for the next iteration
774782
return concat_data
775783

776784
@staticmethod

0 commit comments

Comments
 (0)