Source code for src.Num

[docs]class NUM(): def __init__(self, at=0, txt=""): s = "NUM" self.n = 0 self.mu = 0 self.m2 = 0 self.lo = float('inf') self.hi = float('-inf') self.at = at self.txt = txt if self.txt == "": self.w=1 else: if self.txt[-1] == '-': self.w = -1 else: self.w = 1
[docs] def add(self, n): if n != "?": self.n += 1 d = n - self.mu self.mu = self.mu + d/(self.n) self.m2 += d*(n - self.mu) self.lo = min(n, self.lo) self.hi = max(n, self.hi)
[docs] def mid(self): # removing x as not used return self.mu
[docs] def div(self): if (self.m2 < 0 or self.n < 2): return 0 else: return (self.m2/(self.n - 1))**0.5
[docs] def rnd(x, n): if x == "?": return x else: return round(x, n)