def test_rowall_sequence_of_columns(): DT = dt.Frame(A=[True, False, True], B=[3, 6, 1], C=[True, None, False], D=[True, True, True], E=['ha', 'nope', None]) RES = DT[:, rowall(f.A, f["C":"D"])] assert_equals(RES, dt.Frame([True, False, False]))
def test_rowall_sequence_of_columns(): DT = dt.Frame(A=[True, False, True], B=[3, 6, 1], C=[True, None, False], D=[True, True, True], E=['ha', 'nope', None]) DT = DT[:, list("ABCDE")] # force correct column order for py3.5 RES = DT[:, rowall(f.A, f["C":"D"])] assert_equals(RES, dt.Frame([True, False, False]))
def test_reprs(): # Check that row-expressions can be repr'd without errors assert repr(rowall()) assert repr(rowany()) assert repr(rowsum()) assert repr(rowcount()) assert repr(rowmin()) assert repr(rowmax()) assert repr(rowfirst()) assert repr(rowlast()) assert repr(rowmean()) assert repr(rowsd())
def test_rowall_wrong_type(st): DT = dt.Frame(A=[], stype=st) with pytest.raises(TypeError, match="Function rowall requires a sequence " "of boolean columns"): assert DT[:, rowall(f.A)]
def test_rowall_no_columns(): DT = dt.Frame(A=[True, False, True, True, None]) R1 = DT[:, rowall()] R2 = DT[:, rowall(f[str])] assert_equals(R1, dt.Frame([True])) assert_equals(R2, dt.Frame([True]))
def test_rowall_single_column(): DT = dt.Frame([[True, False, None, True]]) RES = rowall(DT) assert_equals(RES, dt.Frame([True, False, False, True]))
def test_rowall_simple(): DT = dt.Frame([[True, True, False, True, None, True], [True, False, True, True, True, True], [True, True, True, True, True, True]]) RES = DT[:, rowall(f[:])] assert_equals(RES, dt.Frame([True, False, False, True, False, True]))
def test_rowall(): assert str(dt.rowall(f.A)) == str(f.A.rowall()) assert str(dt.rowall(f[:])) == str(f[:].rowall()) DT = dt.Frame({'A': [True, True], 'B': [True, False]}) assert_equals(DT[:, f[:].rowall()], DT[:, dt.rowall(f[:])])