Exemplo n.º 1
0
def _normalisedInPlace(pmf: adhoc) -> adhoc:
    total = 0
    for k, v in pmf._nvs():
        if isinstance(v, (float, int)):
            total += v
    factor = 1 / total
    for k, v in pmf._nvs():
        if isinstance(v, (float, int)):
            pmf[k] = v * factor
    return pmf
Exemplo n.º 2
0
def subset(a:adhoc, f2:pyfunc) -> pytuple:
    A, B = adhoc(), adhoc()
    for k, v in a._nvs():
        if f2(k, v):
            A[k] = v
        else:
            B[k] = v
    return A, B
Exemplo n.º 3
0
def override(a:adhoc, b:adhoc) -> adhoc:
    answer = adhoc(a)
    answer._update(b._nvs())
    return answer
Exemplo n.º 4
0
def sort(x: adhoc) -> adhoc:
    return adhoc(sorted(x._nvs(), key=None, reverse=False))
Exemplo n.º 5
0
def where(s:adhoc, bools) -> adhoc:
    assert isinstance(s, adhoc)
    answer = adhoc(s)
    for f, v in s._nvs():
        answer[f] = v[bools].view(tvarray)
    return answer
Exemplo n.º 6
0
def rename(d:adhoc, old, new):
    d = adhoc(d)
    d[new] = d._pop(old)
    return d
Exemplo n.º 7
0
def values(x:adhoc) -> pylist:
    return list(x._values())
Exemplo n.º 8
0
def nvs(x:adhoc) -> pydict_items:
    return x._nvs()
Exemplo n.º 9
0
def names(s:adhoc) -> pydict_keys:
    return s._names()
Exemplo n.º 10
0
def select(d: adhoc, f2) -> adhoc:
    filteredKVs = []
    for k, v in d._nvs():
        if f2(k, v): filteredKVs.append((k, v))
    return adhoc(filteredKVs)
Exemplo n.º 11
0
def sameNames(a:adhoc, b:adhoc) -> pybool:
    return a._names() == b._names()
Exemplo n.º 12
0
def inject(s:adhoc, seed, f3):
    prior = seed
    for f, v in s._nvs():
        prior = f3(prior, f, v)
    return prior
Exemplo n.º 13
0
def eachV(a:adhoc, fn1) -> pylist:
    answer = list()
    for v in a._values():
        answer.append(fn1(v))
    return answer
Exemplo n.º 14
0
def each(a:adhoc, fn2) -> adhoc:
    answer = adhoc()
    for f, v in a._nvs():
        answer[f] = fn2(f, v)
    return answer
Exemplo n.º 15
0
def to(x: adhoc, t: pydict) -> pydict:
    return dict(x._nvs())