refactor: loop and if clause eliminated in Obs.__init__

This commit is contained in:
Fabian Joswig 2021-12-08 16:11:44 +00:00
parent 52705d8fcd
commit 2702b5519d

View file

@ -119,6 +119,7 @@ class Obs:
for name, sample in sorted(zip(names, samples)):
self.idl[name] = range(1, len(sample) + 1)
self._value = 0
if means is not None:
for name, sample, mean in sorted(zip(names, samples, means)):
self.shape[name] = len(self.idl[name])
@ -126,6 +127,7 @@ class Obs:
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
self.N = sum(list(self.shape.values()))
else:
for name, sample in sorted(zip(names, samples)):
self.shape[name] = len(self.idl[name])
@ -133,14 +135,12 @@ class Obs:
raise Exception('Incompatible samples and idx for %s: %d vs. %d' % (name, len(sample), self.shape[name]))
self.r_values[name] = np.mean(sample)
self.deltas[name] = sample - self.r_values[name]
self.is_merged = {}
self.N = sum(list(self.shape.values()))
self._value = 0
if means is None:
for name in self.names:
self._value += self.shape[name] * self.r_values[name]
self.N = sum(list(self.shape.values()))
self._value /= self.N
self.is_merged = {}
else:
self._value = 0
self.is_merged = {}