Ejemplo n.º 1
0
def test_kv_transform__aggregate():
    actual = pipe(
        [(0, {
            'v': 1
        }), (1, {
            'v': 2
        }), (0, {
            'v': 3
        }), (1, {
            'v': 4
        }), (0, {
            'v': 5
        })],
        kv_transform(aggregate({'v': [min, max, sum]})),
    )
    expected = [
        (0, {
            ('v', 'max'): 5,
            ('v', 'min'): 1,
            ('v', 'sum'): 9
        }),
        (1, {
            ('v', 'max'): 4,
            ('v', 'min'): 2,
            ('v', 'sum'): 6
        }),
    ]

    assert actual == expected
Ejemplo n.º 2
0
def test_dfply__example():
    df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

    actual = pipe(df, transmute(c=X.a + X.b), rewrites=[add_dfply_support])
    expected = pd.DataFrame({'c': [5, 7, 9]})

    pdt.assert_frame_equal(actual, expected)
Ejemplo n.º 3
0
def test_kv_aggregateby__no_perpartition():
    actual = pipe(
        [(0, {
            'v': 1
        }), (1, {
            'v': 2
        }), (0, {
            'v': 3
        }), (1, {
            'v': 4
        }), (0, {
            'v': 5
        })],
        kv_aggregateby({'v': [min, max, sum]}),
    )
    expected = [
        (0, {
            ('v', 'max'): 5,
            ('v', 'min'): 1,
            ('v', 'sum'): 9
        }),
        (1, {
            ('v', 'max'): 4,
            ('v', 'min'): 2,
            ('v', 'sum'): 6
        }),
    ]

    assert actual == expected
Ejemplo n.º 4
0
def test_aggregate__no_perpartion():
    actual = pipe(
        [{'value': 1}, {'value': 2}, {'value': 3}],
        aggregate({'value': [sum, min, max]}),
    )
    expected = {('value', 'min'): 1, ('value', 'sum'): 6, ('value', 'max'): 3}

    assert actual == expected
Ejemplo n.º 5
0
def test_dfply__map():
    df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

    actual = pipe([df],
                  map(transmute(c=X.a + X.b)),
                  list,
                  rewrites=[add_dfply_support])
    expected = pd.DataFrame({'c': [5, 7, 9]})

    assert len(actual) == 1
    pdt.assert_frame_equal(actual[0], expected)
Ejemplo n.º 6
0
def test_kv_transform__aggregate():
    actual = pipe(
        [(0, {'v': 1}), (1, {'v': 2}), (0, {'v': 3}), (1, {'v': 4}), (0, {'v': 5})],
        kv_transform(aggregate({'v': [min, max, sum]})),
    )
    expected = [
        (0, {('v', 'max'): 5, ('v', 'min'): 1, ('v', 'sum'): 9}),
        (1, {('v', 'max'): 4, ('v', 'min'): 2, ('v', 'sum'): 6}),
    ]

    assert actual == expected
Ejemplo n.º 7
0
def test_kv_aggregateby__no_perpartition():
    actual = pipe(
        [(0, {'v': 1}), (1, {'v': 2}), (0, {'v': 3}), (1, {'v': 4}), (0, {'v': 5})],
        kv_aggregateby({'v': [min, max, sum]}),
    )
    expected = [
        (0, {('v', 'max'): 5, ('v', 'min'): 1, ('v', 'sum'): 9}),
        (1, {('v', 'max'): 4, ('v', 'min'): 2, ('v', 'sum'): 6}),
    ]

    assert actual == expected
Ejemplo n.º 8
0
def test_dfply__example():
    df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

    actual = pipe(
        df,
        transmute(c=X.a + X.b),
        rewrites=[add_dfply_support]
    )
    expected = pd.DataFrame({
        'c': [5, 7, 9]
    })

    pdt.assert_frame_equal(actual, expected)
Ejemplo n.º 9
0
def test_aggregate__no_perpartion():
    actual = pipe(
        [{
            'value': 1
        }, {
            'value': 2
        }, {
            'value': 3
        }],
        aggregate({'value': [sum, min, max]}),
    )
    expected = {('value', 'min'): 1, ('value', 'sum'): 6, ('value', 'max'): 3}

    assert actual == expected
Ejemplo n.º 10
0
def test_dfply__map():
    df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

    actual = pipe(
        [df],
        map(transmute(c=X.a + X.b)),
        list,
        rewrites=[add_dfply_support]
    )
    expected = pd.DataFrame({
        'c': [5, 7, 9]
    })

    assert len(actual) == 1
    pdt.assert_frame_equal(actual[0], expected)
Ejemplo n.º 11
0
def test_apply():
    assert pipe(5, lambda x: 2 * x, lambda x: x - 3) == 7
    assert pipe(5, lambda x: 2 * x, rewrites=[lambda f: lambda x: x + 5]) == 10
Ejemplo n.º 12
0
def test_apply():
    assert pipe(5, lambda x: 2 * x, lambda x: x - 3) == 7
    assert pipe(5, lambda x: 2 * x, rewrites=[lambda f: lambda x: x + 5]) == 10