mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-15 06:40:24 +01:00
idx and means are now args instead of kwargs in Obs.__init__
This commit is contained in:
parent
c028ddf919
commit
9039d1ad6f
1 changed files with 7 additions and 7 deletions
|
@ -49,9 +49,9 @@ class Obs:
|
|||
N_sigma_global = 1.0
|
||||
filter_eps = 1e-10
|
||||
|
||||
def __init__(self, samples, names, **kwargs):
|
||||
def __init__(self, samples, names, idl=None, means=None, **kwargs):
|
||||
|
||||
if 'means' not in kwargs:
|
||||
if means is None:
|
||||
if len(samples) != len(names):
|
||||
raise Exception('Length of samples and names incompatible.')
|
||||
if len(names) != len(set(names)):
|
||||
|
@ -67,8 +67,8 @@ class Obs:
|
|||
self.deltas = {}
|
||||
|
||||
self.idl = {}
|
||||
if 'idl' in kwargs:
|
||||
for name, idx in zip(names, kwargs.get('idl')):
|
||||
if idl is not None:
|
||||
for name, idx in zip(names, idl):
|
||||
if isinstance(idx, range):
|
||||
self.idl[name] = idx
|
||||
elif isinstance(idx, (list, np.ndarray)):
|
||||
|
@ -85,8 +85,8 @@ class Obs:
|
|||
for name, sample in zip(names, samples):
|
||||
self.idl[name] = range(1, len(sample) + 1)
|
||||
|
||||
if 'means' in kwargs:
|
||||
for name, sample, mean in zip(names, samples, kwargs.get('means')):
|
||||
if means is not None:
|
||||
for name, sample, mean in 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]))
|
||||
|
@ -103,7 +103,7 @@ class Obs:
|
|||
self.N = sum(list(self.shape.values()))
|
||||
|
||||
self._value = 0
|
||||
if 'means' not in kwargs:
|
||||
if means is None:
|
||||
for name in self.names:
|
||||
self._value += self.shape[name] * self.r_values[name]
|
||||
self._value /= self.N
|
||||
|
|
Loading…
Add table
Reference in a new issue