示例#1
0
def test_fread_from_text1():
    d0 = dt.fread(text="A")
    frame_integrity_check(d0)
    assert d0.names == ("A", )
    assert d0.shape == (0, 1)
    assert d0.source == "<text>"
示例#2
0
def test_rows_less_than(df1):
    dt1 = df1[f.A < f.B, :]
    frame_integrity_check(dt1)
    assert dt1.names == df1.names
    assert dt1.to_list() == [[0, 1], [3, 2]]
示例#3
0
def test_rows_less_than_or_equal(df1):
    dt1 = df1[f.A <= f.B, :]
    frame_integrity_check(dt1)
    assert dt1.names == df1.names
    assert dt1.to_list() == [[0, 1, 3, 4, None, 9], [3, 2, 3, 4, None, 9]]
示例#4
0
def test_rows_expr3(dt0):
    dt2 = dt0[f.colA < f.colB, :]
    frame_integrity_check(dt2)
    assert dt2.shape == (2, 3)
    assert dt2.to_list() == [[0, 1], [7, 9], [5, 1.3]]
示例#5
0
def test_rows_equal(df1):
    dt1 = df1[f.A == f.B, :]
    frame_integrity_check(dt1)
    assert dt1.names == df1.names
    assert dt1.to_list() == [[3, 4, None, 9], [3, 4, None, 9]]
示例#6
0
def test_rows_multislice6():
    DT = dt.Frame(range(20))
    res = DT[[slice(100), slice(4, None, -2)], :]
    frame_integrity_check(res)
    assert res.ncols == 1
    assert res.to_list()[0] == list(range(20)) + [4, 2, 0]
示例#7
0
def test_issue1970():
    DT = dt.Frame(A=[], stype=dt.float32)
    DT.nrows = 2
    RES = DT[dt.Frame([None], stype=int), :]
    frame_integrity_check(RES)
    assert_equals(RES, dt.Frame(A=[None], stype=DT.stype))
示例#8
0
def test_int16_small():
    d0 = dt.Frame([0, -10, 100, -1000, 10000, 2, 999, None])
    assert d0.stypes[0] == stype.int16
    d1 = d0.sort(0)
    frame_integrity_check(d1)
    assert d1.to_list() == [[None, -1000, -10, 0, 2, 100, 999, 10000]]
示例#9
0
def test_int16_large():
    d0 = dt.Frame([(i * 111119) % 10007 - 5003 for i in range(10007)])
    d1 = d0.sort(0)
    assert d1.stypes == (stype.int16, )
    frame_integrity_check(d1)
    assert d1.to_list() == [list(range(-5003, 5004))]
示例#10
0
def test_fread_skip_to_line_large():
    # Note: exception is not thrown, instead an empty Frame is returned
    d0 = dt.fread("a,b\n1,2\n3,4\n5,6\n", skip_to_line=1000)
    frame_integrity_check(d0)
    assert d0.shape == (0, 0)
示例#11
0
def test_int8_large():
    d0 = dt.Frame([(i * 1327) % 101 - 50 for i in range(1010)])
    d1 = d0.sort(0)
    assert d1.stypes == (stype.int8, )
    frame_integrity_check(d1)
    assert d1.to_list() == [sum(([i] * 10 for i in range(-50, 51)), [])]
示例#12
0
def test_fread_skip_to_line():
    d0 = dt.fread("a,z\nv,1\nC,D\n1,2\n", skip_to_line=3)
    frame_integrity_check(d0)
    assert d0.names == ("C", "D")
    assert d0.to_list() == [[1], [2]]
示例#13
0
def test_fread_from_cmd1():
    d0 = dt.fread(cmd="ls -l")
    frame_integrity_check(d0)
    d0.source == "ls -l"
示例#14
0
def test_fread_columns_set1():
    text = ("C1,C2,C3,C4\n" "1,3.3,7,\"Alice\"\n" "2,,,\"Bob\"")
    d0 = dt.fread(text=text, columns={"C1", "C3"})
    frame_integrity_check(d0)
    assert d0.names == ("C1", "C3")
    assert d0.to_list() == [[1, 2], [7, None]]
示例#15
0
def test_rows_multislice4():
    DT = dt.Frame(range(20))
    res = DT[[range(5), 3, -1, range(8, -2, -2)], :]
    frame_integrity_check(res)
    assert res.ncols == 1
    assert res.to_list()[0] == [0, 1, 2, 3, 4, 3, 19, 8, 6, 4, 2, 0]
示例#16
0
def test_sort_len0():
    d0 = dt.Frame([[]])
    assert d0.shape == (0, 1)
    d1 = d0.sort(0)
    frame_integrity_check(d1)
    assert d1.shape == (0, 1)
示例#17
0
def test_rows_multislice5():
    DT = dt.Frame(range(20))
    res = DT[[range(3), slice(4, 105, 0)], :]
    frame_integrity_check(res)
    assert res.ncols == 1
    assert res.to_list()[0] == [0, 1, 2] + [4] * 105
示例#18
0
def test_int64_small_stable():
    d0 = dt.Frame([[0, None, -1000, 11**11] * 3, range(12)])
    assert d0.stypes == (stype.int64, stype.int32)
    d1 = d0[:, 1, sort(0)]
    frame_integrity_check(d1)
    assert d1.to_list() == [[1, 5, 9, 2, 6, 10, 0, 4, 8, 3, 7, 11]]
示例#19
0
def test_rows_multislice7():
    DT = dt.Frame(range(20))
    res = DT[[range(-5, 0, 2)], :]
    frame_integrity_check(res)
    assert res.to_list() == [[15, 17, 19]]
示例#20
0
def test_sort_len1():
    d0 = dt.Frame([10**6])
    assert d0.shape == (1, 1)
    d1 = d0.sort(0)
    frame_integrity_check(d1)
    assert d1.to_list() == [[10**6]]
示例#21
0
def test_rows_expr1(dt0):
    dt2 = dt0[f.colA, :]
    frame_integrity_check(dt2)
    assert dt2.shape == (5, 3)
    assert dt2.to_list()[1] == [-11, 9, 0, 1, None]
示例#22
0
def test_sort_view2():
    d0 = dt.Frame([4, 1, 0, 5, -3, 12, 99, 7])
    d1 = d0.sort(0)
    d2 = d1[:, :, sort(0)]
    frame_integrity_check(d2)
    assert d2.to_list() == d1.to_list()
示例#23
0
def test_rows_expr4(dt0):
    dt1 = dt0[f.colB == 0, :]
    frame_integrity_check(dt1)
    assert dt1.shape == (2, 3)
    assert dt1.to_list() == [[0, 1], [0, 0], [0, -2.6]]
示例#24
0
def test_sort_view_large_strs():
    d0 = dt.Frame(list("abcbpeiuqenvkjqperufhqperofin;d") * 100)
    d1 = d0[:, ::2].sort(0)
    frame_integrity_check(d1)
    elems = d1.to_list()[0]
    assert elems == sorted(elems)
示例#25
0
def test_rows_not_equal(df1):
    dt1 = df1[f.A != f.B, :]
    frame_integrity_check(dt1)
    assert dt1.names == df1.names
    assert dt1.to_list() == [[0, 1, 2, 5, 6, 7, None],
                             [3, 2, 1, 0, 2, None, 8]]
示例#26
0
def test_sort_simple():
    d0 = dt.Frame([random.randint(0, 20) for _ in range(100)])
    d1 = d0[:, :, sort(0)]
    frame_integrity_check(d1)
    assert d1.shape == d0.shape
    assert d1.to_list() == [sorted(d0.to_list()[0])]
示例#27
0
def test_rows_greater_than(df1):
    dt1 = df1[f.A > f.B, :]
    frame_integrity_check(dt1)
    assert dt1.names == df1.names
    assert dt1.to_list() == [[2, 5, 6], [1, 0, 2]]
示例#28
0
def test_rows_0step_slice():
    DT = dt.Frame(range(5))
    res = DT[3:100:0, :]
    frame_integrity_check(res)
    assert res.to_list() == [[3] * 100]
示例#29
0
def test_rows_greater_than_or_equal(df1):
    dt1 = df1[f.A >= f.B, :]
    frame_integrity_check(dt1)
    assert dt1.names == df1.names
    assert dt1.to_list() == [[2, 3, 4, 5, 6, None, 9],
                             [1, 3, 4, 0, 2, None, 9]]
示例#30
0
def test_fread_columns_list3():
    d0 = dt.fread(text="A,B,C\n1,2,3", columns=[("foo", str), None, None])
    frame_integrity_check(d0)
    assert d0.names == ("foo", )
    assert d0.to_list() == [["1"]]