mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-05-15 03:53:41 +02: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
|
N_sigma_global = 1.0
|
||||||
filter_eps = 1e-10
|
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):
|
if len(samples) != len(names):
|
||||||
raise Exception('Length of samples and names incompatible.')
|
raise Exception('Length of samples and names incompatible.')
|
||||||
if len(names) != len(set(names)):
|
if len(names) != len(set(names)):
|
||||||
|
@ -67,8 +67,8 @@ class Obs:
|
||||||
self.deltas = {}
|
self.deltas = {}
|
||||||
|
|
||||||
self.idl = {}
|
self.idl = {}
|
||||||
if 'idl' in kwargs:
|
if idl is not None:
|
||||||
for name, idx in zip(names, kwargs.get('idl')):
|
for name, idx in zip(names, idl):
|
||||||
if isinstance(idx, range):
|
if isinstance(idx, range):
|
||||||
self.idl[name] = idx
|
self.idl[name] = idx
|
||||||
elif isinstance(idx, (list, np.ndarray)):
|
elif isinstance(idx, (list, np.ndarray)):
|
||||||
|
@ -85,8 +85,8 @@ class Obs:
|
||||||
for name, sample in zip(names, samples):
|
for name, sample in zip(names, samples):
|
||||||
self.idl[name] = range(1, len(sample) + 1)
|
self.idl[name] = range(1, len(sample) + 1)
|
||||||
|
|
||||||
if 'means' in kwargs:
|
if means is not None:
|
||||||
for name, sample, mean in zip(names, samples, kwargs.get('means')):
|
for name, sample, mean in zip(names, samples, means):
|
||||||
self.shape[name] = len(self.idl[name])
|
self.shape[name] = len(self.idl[name])
|
||||||
if len(sample) != self.shape[name]:
|
if len(sample) != self.shape[name]:
|
||||||
raise Exception('Incompatible samples and idx for %s: %d vs. %d' % (name, 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.N = sum(list(self.shape.values()))
|
||||||
|
|
||||||
self._value = 0
|
self._value = 0
|
||||||
if 'means' not in kwargs:
|
if means is None:
|
||||||
for name in self.names:
|
for name in self.names:
|
||||||
self._value += self.shape[name] * self.r_values[name]
|
self._value += self.shape[name] * self.r_values[name]
|
||||||
self._value /= self.N
|
self._value /= self.N
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue