Пример #1
0
def test_anywhere(where_df):
    selector = Anywhere(lambda x: x < 0)
    assert_frame_equal(where_df[selector], where_df.loc[["neg", "mixed"]])

    for cols in ["B", ["B"], lambda x: ["B"]]:
        selector = Anywhere(lambda x: x < 0, columns=cols)
        assert_frame_equal(where_df[selector], where_df.loc[["neg"]])
Пример #2
0
def test_multiple_operators(where_df):
    all_pos = Everywhere(lambda x: x > 0)
    any_gt_99 = Everywhere(lambda x: x > 99)
    any_pos = Anywhere(lambda x: x == 1)

    actual = where_df[~all_pos & any_pos | any_gt_99]
    assert_frame_equal(where_df.loc[["mixed"]], actual)
Пример #3
0
def test_where_invalid_ops(op):
    selector = Anywhere(lambda x: x > 99)
    with pytest.raises(TypeError,
                       match="Operand does not support logical operations"):
        op("a", selector)
    with pytest.raises(TypeError, match="Operand is not boolean dtype"):
        op(["a"], selector)
Пример #4
0
def test_where_ops_cast_array(where_df, op, expected):
    left = Anywhere(lambda x: x == 1)
    right = [False, False, True]
    assert_frame_equal(where_df.loc[expected], where_df[op(left, right)])

    right = np.asarray(right)
    assert_frame_equal(where_df.loc[expected], where_df[op(left, right)])
Пример #5
0
def test_where_not_empty_operand(where_df):
    selector = Anywhere(lambda x: x < 99)
    assert where_df[~selector].empty
Пример #6
0
def test_where_not(where_df):
    selector = Anywhere(lambda x: x > 99)
    assert_frame_equal(where_df, where_df[~selector])
    selector = Everywhere(lambda x: x > 99)
    assert_frame_equal(where_df, where_df[~selector])
Пример #7
0
def test_where_binary_op_empty_operand(where_df, op, expected):
    left = Anywhere(lambda x: x > 99)
    right = Everywhere(lambda x: x > 0)
    assert_frame_equal(where_df.loc[expected], where_df[op(left, right)])
    assert_frame_equal(where_df.loc[expected], where_df[op(right, left)])
Пример #8
0
def test_where_binary_op(where_df, op, expected):
    left = Anywhere(lambda x: x == -1)
    right = Everywhere(lambda x: x < 0)
    assert_frame_equal(where_df.loc[expected], where_df[op(left, right)])
    assert_frame_equal(where_df.loc[expected], where_df[op(right, left)])
Пример #9
0
def test_everywhere_empty(where_df):
    selector = Anywhere(lambda x: x > 99)
    assert where_df[selector].empty