Ejemplo n.º 1
0
def removed_functions():
    # all these functions do not exist anymore, but we need to give a hint
    # to users upgrading
    to_remove = [
        ('countlink', Count),
        ('sumlink', Sum),
        ('avglink', Avg),
        ('minlink', Min),
        ('maxlink', Max)
    ]
    return {name: removed(func, "%s(link, ...)" % name,
                          "link.%s(...)" % name[:-4])
            for name, func in to_remove}
Ejemplo n.º 2
0
        # force float to avoid overflows with integer input expressions
        cumsum = np.cumsum(sorted_values, dtype=float)
        values_sum = cumsum[-1]
        if values_sum == 0:
            print("gini(%s, filter=%s): expression is all zeros (or nan) "
                  "for filter" % (self.args[0], filter))
        return (n + 1 - 2 * np.sum(cumsum) / values_sum) / n

    dtype = always(float)


def make_dispatcher(agg_func, elem_func):
    def dispatcher(*args, **kwargs):
        func = agg_func if len(args) == 1 else elem_func
        return func(*args, **kwargs)

    return dispatcher


functions = {
    'all': All, 'any': Any, 'count': Count,
    'min': make_dispatcher(Min, exprmisc.Min),
    'max': make_dispatcher(Max, exprmisc.Max),
    'sum': Sum, 'avg': Average, 'std': Std,
    'median': Median, 'percentile': Percentile,
    'gini': Gini
}

for k, v in functions.items():
    functions['grp' + k] = removed(v, 'grp' + k, k)
Ejemplo n.º 3
0
                  "for filter" % (self.args[0], filter))
        return (n + 1 - 2 * np.sum(cumsum) / values_sum) / n

    dtype = always(float)


def make_dispatcher(agg_func, elem_func):
    def dispatcher(*args, **kwargs):
        func = agg_func if len(args) == 1 else elem_func
        return func(*args, **kwargs)

    return dispatcher


functions = {
    'all': All,
    'any': Any,
    'count': Count,
    'min': make_dispatcher(Min, exprmisc.Min),
    'max': make_dispatcher(Max, exprmisc.Max),
    'sum': Sum,
    'avg': Average,
    'std': Std,
    'median': Median,
    'percentile': Percentile,
    'gini': Gini
}

for k, v in functions.items():
    functions['grp' + k] = removed(v, 'grp' + k, k)