예제 #1
0
def group_by_year(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 31), 1), (datetime.date(2012, 4, 30), 3),
    ...           (datetime.date(2012, 1, 1), -1), (datetime.date(2011, 12, 12), 0)]
    >>> group_by_year(indata, max)
    [(datetime.date(2011, 1, 1), 0), (datetime.date(2012, 1, 1), 3)]
    """
    return _group_by_x(values, aggregationfunc, lambda x: date_trunc('year', x))
예제 #2
0
def group_by_tertial(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 31), 1), (datetime.date(2012, 4, 30), 3),
    ...           (datetime.date(2012, 1, 1), -1), (datetime.date(2011, 12, 12), 0)]
    >>> group_by_tertial(indata, avg)
    [(datetime.date(2011, 9, 1), 0.0), (datetime.date(2012, 1, 1), 1.0)]
    """
    return _group_by_x(values, aggregationfunc, lambda x: date_trunc('tertial', x))
예제 #3
0
def group_by_week(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 31), 1154), (datetime.date(2012, 2, 20), 3466),
    ...           (datetime.date(2012, 2, 22), 3440), (datetime.date(2012, 3, 13), 3402),
    ...           (datetime.date(2012, 1, 29), -2), (datetime.date(2012, 2, 27), 3436)]
    >>> group_by_week(indata, min)
    [(datetime.date(2012, 1, 23), -2), (datetime.date(2012, 1, 30), 1154), (datetime.date(2012, 2, 20), 3440), (datetime.date(2012, 2, 27), 3436), (datetime.date(2012, 3, 12), 3402)]
    """
    return _group_by_x(values, aggregationfunc, lambda x: date_trunc('week', x))
예제 #4
0
def group_by_year(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 31), 1), (datetime.date(2012, 4, 30), 3),
    ...           (datetime.date(2012, 1, 1), -1), (datetime.date(2011, 12, 12), 0)]
    >>> group_by_year(indata, max)
    [(datetime.date(2011, 1, 1), 0), (datetime.date(2012, 1, 1), 3)]
    """
    return _group_by_x(values, aggregationfunc,
                       lambda x: date_trunc('year', x))
예제 #5
0
def group_by_tertial(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 31), 1), (datetime.date(2012, 4, 30), 3),
    ...           (datetime.date(2012, 1, 1), -1), (datetime.date(2011, 12, 12), 0)]
    >>> group_by_tertial(indata, avg)
    [(datetime.date(2011, 9, 1), 0.0), (datetime.date(2012, 1, 1), 1.0)]
    """
    return _group_by_x(values, aggregationfunc,
                       lambda x: date_trunc('tertial', x))
예제 #6
0
def group_by_week(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 31), 1154), (datetime.date(2012, 2, 20), 3466),
    ...           (datetime.date(2012, 2, 22), 3440), (datetime.date(2012, 3, 13), 3402),
    ...           (datetime.date(2012, 1, 29), -2), (datetime.date(2012, 2, 27), 3436)]
    >>> group_by_week(indata, min)
    [(datetime.date(2012, 1, 23), -2), (datetime.date(2012, 1, 30), 1154), (datetime.date(2012, 2, 20), 3440), (datetime.date(2012, 2, 27), 3436), (datetime.date(2012, 3, 12), 3402)]
    """
    return _group_by_x(values, aggregationfunc,
                       lambda x: date_trunc('week', x))
예제 #7
0
def group_by_month(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 30), 1), (datetime.date(2012, 1, 31), 3),
    ...           (datetime.date(2012, 1, 1), -1), (datetime.date(2012, 1, 1), 0)]
    >>> group_by_month(indata, min)
    [(datetime.date(2012, 1, 1), -1)]
    >>> group_by_month(indata, max)
    [(datetime.date(2012, 1, 1), 3)]
    >>> group_by_month(indata, avg)
    [(datetime.date(2012, 1, 1), 0.75)]
    """
    return _group_by_x(values, aggregationfunc, lambda x: date_trunc('month', x))
예제 #8
0
def group_by_month(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]

    >>> indata = [(datetime.date(2012, 1, 30), 1), (datetime.date(2012, 1, 31), 3),
    ...           (datetime.date(2012, 1, 1), -1), (datetime.date(2012, 1, 1), 0)]
    >>> group_by_month(indata, min)
    [(datetime.date(2012, 1, 1), -1)]
    >>> group_by_month(indata, max)
    [(datetime.date(2012, 1, 1), 3)]
    >>> group_by_month(indata, avg)
    [(datetime.date(2012, 1, 1), 0.75)]
    """
    return _group_by_x(values, aggregationfunc,
                       lambda x: date_trunc('month', x))
예제 #9
0
def group_by_day(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]"""
    return _group_by_x(values, aggregationfunc, lambda x: date_trunc('day', x))
예제 #10
0
def group_by_day(values, aggregationfunc):
    """input should be [(datetime, stuff), ...]"""
    return _group_by_x(values, aggregationfunc, lambda x: date_trunc('day', x))