def test_asof_join_with_tolerance(ibis_interval, timedelta_interval): left = ibis.table([('time', 'int32'), ('key', 'int32'), ('value', 'double')]) right = ibis.table([('time', 'int32'), ('key', 'int32'), ('value2', 'double')]) joined = api.asof_join(left, right, 'time', tolerance=ibis_interval) tolerance = joined.op().tolerance assert_equal(tolerance, ibis_interval) joined = api.asof_join(left, right, 'time', tolerance=timedelta_interval) tolerance = joined.op().tolerance assert isinstance(tolerance, ir.IntervalScalar) assert isinstance(tolerance.op(), ops.Literal)
def test_pickle_asof_join(): left = ibis.table([('time', 'int32'), ('value', 'double')]) right = ibis.table([('time', 'int32'), ('value2', 'double')]) joined = api.asof_join(left, right, 'time') node = joined.op() assert_pickle_roundtrip(node)
def test_asof_join_with_by(): left = ibis.table( [('time', 'int32'), ('key', 'int32'), ('value', 'double')]) right = ibis.table( [('time', 'int32'), ('key', 'int32'), ('value2', 'double')]) joined = api.asof_join(left, right, 'time', by='key') by = joined.op().by[0].op() assert by.left.op().name == by.right.op().name == 'key'
def test_asof_join(): left = ibis.table([('time', 'int32'), ('value', 'double')]) right = ibis.table([('time', 'int32'), ('value2', 'double')]) right = right.mutate(foo=1) joined = api.asof_join(left, right, 'time') result = joined[left, right.foo] graph = viz.to_graph(result) assert key(result) in graph.source
def test_asof_join_with_by(): left = ibis.table( [('time', 'int32'), ('key', 'int32'), ('value', 'double')] ) right = ibis.table( [('time', 'int32'), ('key', 'int32'), ('value2', 'double')] ) joined = api.asof_join(left, right, 'time', by='key') by = joined.op().by[0].op() assert by.left.op().name == by.right.op().name == 'key'
def test_asof_join(): left = ibis.table([('time', 'int32'), ('value', 'double')]) right = ibis.table([('time', 'int32'), ('value2', 'double')]) joined = api.asof_join(left, right, 'time') assert joined.columns == [ "time_x", "value", "time_y", "value2", ] pred = joined.op().table.op().predicates[0].op() assert pred.left.op().name == pred.right.op().name == 'time'
def test_asof_join_with_by(): left = ibis.table([('time', 'int32'), ('key', 'int32'), ('value', 'double')]) right = ibis.table([('time', 'int32'), ('key', 'int32'), ('value2', 'double')]) joined = api.asof_join(left, right, 'time', by='key') assert joined.columns == [ "time_x", "key_x", "value", "time_y", "key_y", "value2", ] by = joined.op().table.op().by[0].op() assert by.left.op().name == by.right.op().name == 'key'
def test_asof_join(): left = ibis.table([('time', 'int32'), ('value', 'double')]) right = ibis.table([('time', 'int32'), ('value2', 'double')]) joined = api.asof_join(left, right, 'time') pred = joined.op().predicates[0].op() assert pred.left.op().name == pred.right.op().name == 'time'