def __new__(cls, value=None, **kwargs): output = object.__new__(cls) if value == None: if kwargs: output.milli = datetime.timedelta( **kwargs).total_seconds() * 1000 output.month = 0 return output else: return None if Math.is_number(value): output._milli = float(value) * 1000 output.month = 0 return output elif isinstance(value, basestring): return parse(value) elif isinstance(value, Duration): output.milli = value.milli output.month = value.month return output elif isinstance(value, float) and Math.is_nan(value): return None else: from pyLibrary import convert from pyLibrary.debugs.logs import Log Log.error("Do not know type of object (" + convert.value2json(value) + ")of to make a Duration")
def __new__(cls, value=None, **kwargs): output = object.__new__(cls) if value == None: if kwargs: output.milli = datetime.timedelta(**kwargs).total_seconds() * 1000 output.month = 0 return output else: return None if Math.is_number(value): output._milli = float(value) * 1000 output.month = 0 return output elif isinstance(value, basestring): return parse(value) elif isinstance(value, Duration): output.milli = value.milli output.month = value.month return output elif isinstance(value, float) and Math.is_nan(value): return None else: from pyLibrary import convert from pyLibrary.debugs.logs import Log Log.error("Do not know type of object (" + convert.value2json(value) + ")of to make a Duration")
def stats(values): """ RETURN LOTS OF AGGREGATES """ if values == None: return None values = values.map(float, includeNone=False) z = ZeroMoment.new_instance(values) s = Struct() for k, v in z.dict.items(): s[k] = v for k, v in ZeroMoment2Stats(z).items(): s[k] = v s.max = MAX(values) s.min = MIN(values) s.median = pyLibrary.stats.median(values, simple=False) s.last = values.last() s.first = values[0] if Math.is_number(s.variance) and not Math.is_nan(s.variance): s.std = sqrt(s.variance) return s
def stats(values): """ RETURN LOTS OF AGGREGATES """ if values == None: return None values = values.map(float, includeNone=False) z = ZeroMoment.new_instance(values) s = Dict() for k, v in z.dict.items(): s[k] = v for k, v in ZeroMoment2Stats(z).items(): s[k] = v s.max = MAX(values) s.min = MIN(values) s.median = pyLibrary.maths.stats.median(values, simple=False) s.last = values.last() s.first = values[0] if Math.is_number(s.variance) and not Math.is_nan(s.variance): s.std = sqrt(s.variance) return s