sort zips in Obs.__init__ again

This commit is contained in:
Fabian Joswig 2021-11-05 12:30:22 +00:00
parent 6d8bce8755
commit 59b916213e

View file

@ -83,7 +83,7 @@ class Obs:
self.idl = {}
if idl is not None:
for name, idx in zip(names, idl):
for name, idx in sorted(zip(names, idl)):
if isinstance(idx, range):
self.idl[name] = idx
elif isinstance(idx, (list, np.ndarray)):
@ -97,18 +97,18 @@ class Obs:
else:
raise Exception('incompatible type for idl[%s].' % (name))
else:
for name, sample in zip(names, samples):
for name, sample in sorted(zip(names, samples)):
self.idl[name] = range(1, len(sample) + 1)
if means is not None:
for name, sample, mean in zip(names, samples, means):
for name, sample, mean in sorted(zip(names, samples, means)):
self.shape[name] = len(self.idl[name])
if len(sample) != self.shape[name]:
raise Exception('Incompatible samples and idx for %s: %d vs. %d' % (name, len(sample), self.shape[name]))
self.r_values[name] = mean
self.deltas[name] = sample
else:
for name, sample in zip(names, samples):
for name, sample in sorted(zip(names, samples)):
self.shape[name] = len(self.idl[name])
if len(sample) != self.shape[name]:
raise Exception('Incompatible samples and idx for %s: %d vs. %d' % (name, len(sample), self.shape[name]))