示例#1
0
def test_string(unittest):
    df = replacements_data()
    data_id, replacement_type = '1', 'strings'
    with ExitStack() as stack:
        stack.enter_context(mock.patch('dtale.global_state.DATA', {data_id: df}))

        cfg = {'value': 'unknown', 'ignoreCase': True, 'isChar': False}
        builder = ColumnReplacement(data_id, 'a', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['a', np.nan, 'b']))

        cfg = {'value': 'unknown', 'ignoreCase': False, 'isChar': False}
        builder = ColumnReplacement(data_id, 'a', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['a', 'UNknown', 'b']))

        cfg = {'value': 'unknown', 'ignoreCase': True, 'isChar': False, 'replace': 'missing'}
        builder = ColumnReplacement(data_id, 'a', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['a', 'missing', 'b']))

        cfg = {'value': '-', 'ignoreCase': True, 'isChar': True}
        builder = ColumnReplacement(data_id, 'b', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['', ' ', np.nan]))

        cfg = {'value': '-', 'ignoreCase': True, 'isChar': True, 'replace': 'missing'}
        builder = ColumnReplacement(data_id, 'b', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['', ' ', 'missing']))
示例#2
0
def test_value(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "value"
    with ExitStack() as stack:
        stack.enter_context(
            mock.patch("dtale.global_state.DATA", {data_id: df}))

        cfg = {"value": [dict(value="nan", type="raw", replace="for test")]}
        builder = ColumnReplacement(data_id, "e", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values),
                                             ["a", "for test", "b"]),
        )

        cfg = {
            "value": [
                dict(value="nan", type="raw", replace="for test"),
                dict(value="a", type="raw", replace="d"),
            ]
        }
        builder = ColumnReplacement(data_id, "e", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values),
                                             ["d", "for test", "b"]),
        )

        cfg = {"value": [dict(value="nan", type="agg", replace="median")]}
        builder = ColumnReplacement(data_id, "d", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values), [1.1, 2.05, 3]))
示例#3
0
def test_value(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "value"
    build_data_inst({data_id: df})

    cfg = {"value": [dict(value="nan", type="raw", replace="for test")]}
    builder = ColumnReplacement(data_id, "e", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["a", "for test", "b"]),
    )

    cfg = {
        "value": [
            dict(value="nan", type="raw", replace="for test"),
            dict(value="a", type="raw", replace="d"),
        ]
    }
    builder = ColumnReplacement(data_id, "e", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["d", "for test", "b"]),
    )

    cfg = {"value": [dict(value="nan", type="agg", replace="median")]}
    builder = ColumnReplacement(data_id, "d", replacement_type, cfg)
    verify_builder(
        builder, lambda col: unittest.assertEqual(list(col.values), [1.1, 2.05, 3])
    )
示例#4
0
def test_string(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "strings"
    with ExitStack() as stack:
        stack.enter_context(
            mock.patch("dtale.global_state.DATA", {data_id: df}))

        cfg = {"value": "unknown", "ignoreCase": True, "isChar": False}
        builder = ColumnReplacement(data_id, "a", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values),
                                             ["a", np.nan, "b"]),
        )

        cfg = {"value": "unknown", "ignoreCase": False, "isChar": False}
        builder = ColumnReplacement(data_id, "a", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values),
                                             ["a", "UNknown", "b"]),
        )

        cfg = {
            "value": "unknown",
            "ignoreCase": True,
            "isChar": False,
            "replace": "missing",
        }
        builder = ColumnReplacement(data_id, "a", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values),
                                             ["a", "missing", "b"]),
        )

        cfg = {"value": "-", "ignoreCase": True, "isChar": True}
        builder = ColumnReplacement(data_id, "b", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values),
                                             ["", " ", np.nan]),
        )

        cfg = {
            "value": "-",
            "ignoreCase": True,
            "isChar": True,
            "replace": "missing"
        }
        builder = ColumnReplacement(data_id, "b", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values),
                                             ["", " ", "missing"]),
        )
示例#5
0
def test_spaces(unittest):
    df = replacements_data()
    data_id, replacement_type = '1', 'spaces'
    with ExitStack() as stack:
        stack.enter_context(mock.patch('dtale.global_state.DATA', {data_id: df}))

        builder = ColumnReplacement(data_id, 'b', replacement_type, {})
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['', np.nan, ' - ']))

        builder = ColumnReplacement(data_id, 'b', replacement_type, {'value': 'blah'})
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['', 'blah', ' - ']))
示例#6
0
def test_number_value(unittest):

    df = pd.DataFrame(
        {
            "year": [
                1992.0,
                2005.0,
                2011.0,
                0.0,
                2008.0,
                1999.0,
                1983.0,
                2010.0,
                0.0,
                2002.0,
            ]
        }
    )
    data_id, replacement_type = "1", "value"
    with ExitStack() as stack:
        stack.enter_context(mock.patch("dtale.global_state.DATA", {data_id: df}))

        cfg = {"value": [dict(value=0, type="raw", replace="nan")]}
        builder = ColumnReplacement(data_id, "year", replacement_type, cfg)
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(np.isnan(col.values[-2]), True),
        )
示例#7
0
def test_spaces(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "spaces"
    build_data_inst({data_id: df})

    builder = ColumnReplacement(data_id, "b", replacement_type, {})
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["", np.nan, " - "]),
    )

    builder = ColumnReplacement(data_id, "b", replacement_type, {"value": "blah"})
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["", "blah", " - "]),
    )
示例#8
0
def test_number_value(unittest):

    df = pd.DataFrame(
        {
            "year": [
                1992.0,
                2005.0,
                2011.0,
                0.0,
                2008.0,
                1999.0,
                1983.0,
                2010.0,
                0.0,
                2002.0,
            ]
        }
    )
    data_id, replacement_type = "1", "value"
    build_data_inst({data_id: df})

    cfg = {"value": [dict(value=0, type="raw", replace="nan")]}
    builder = ColumnReplacement(data_id, "year", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(np.isnan(col.values[-2]), True),
    )
示例#9
0
def test_spaces(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "spaces"
    with ExitStack() as stack:
        stack.enter_context(mock.patch("dtale.global_state.DATA", {data_id: df}))

        builder = ColumnReplacement(data_id, "b", replacement_type, {})
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values), ["", np.nan, " - "]),
        )

        builder = ColumnReplacement(data_id, "b", replacement_type, {"value": "blah"})
        verify_builder(
            builder,
            lambda col: unittest.assertEqual(list(col.values), ["", "blah", " - "]),
        )
示例#10
0
def test_value(unittest):
    df = replacements_data()
    data_id, replacement_type = '1', 'value'
    with ExitStack() as stack:
        stack.enter_context(mock.patch('dtale.global_state.DATA', {data_id: df}))

        cfg = {'value': [dict(value='nan', type='raw', replace='for test')]}
        builder = ColumnReplacement(data_id, 'e', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['a', 'for test', 'b']))

        cfg = {'value': [dict(value='nan', type='raw', replace='for test'), dict(value='a', type='raw', replace='d')]}
        builder = ColumnReplacement(data_id, 'e', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), ['d', 'for test', 'b']))

        cfg = {'value': [dict(value='nan', type='agg', replace='median')]}
        builder = ColumnReplacement(data_id, 'd', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), [1.1, 2.05, 3]))
示例#11
0
def test_simple_imputers(unittest):
    df = replacements_data()
    data_id, replacement_type = '1', 'imputer'
    with ExitStack() as stack:
        stack.enter_context(mock.patch('dtale.global_state.DATA', {data_id: df}))

        cfg = {'type': 'simple'}
        builder = ColumnReplacement(data_id, 'd', replacement_type, cfg)
        verify_builder(builder, lambda col: unittest.assertEqual(list(col.values), [1.1, 2.05, 3]))
示例#12
0
def test_string(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "strings"
    build_data_inst({data_id: df})

    cfg = {"value": "unknown", "ignoreCase": True, "isChar": False}
    builder = ColumnReplacement(data_id, "a", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["a", np.nan, "b"]),
    )

    cfg = {"value": "unknown", "ignoreCase": False, "isChar": False}
    builder = ColumnReplacement(data_id, "a", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["a", "UNknown", "b"]),
    )

    cfg = {
        "value": "unknown",
        "ignoreCase": True,
        "isChar": False,
        "replace": "missing",
    }
    builder = ColumnReplacement(data_id, "a", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["a", "missing", "b"]),
    )

    cfg = {"value": "-", "ignoreCase": True, "isChar": True}
    builder = ColumnReplacement(data_id, "b", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["", " ", np.nan]),
    )

    cfg = {"value": "-", "ignoreCase": True, "isChar": True, "replace": "missing"}
    builder = ColumnReplacement(data_id, "b", replacement_type, cfg)
    verify_builder(
        builder,
        lambda col: unittest.assertEqual(list(col.values), ["", " ", "missing"]),
    )
示例#13
0
def test_simple_imputers(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "imputer"
    build_data_inst({data_id: df})

    cfg = {"type": "simple"}
    builder = ColumnReplacement(data_id, "d", replacement_type, cfg)
    verify_builder(
        builder, lambda col: unittest.assertEqual(list(col.values), [1.1, 2.05, 3])
    )
示例#14
0
def test_simple_imputers(unittest):
    df = replacements_data()
    data_id, replacement_type = "1", "imputer"
    with ExitStack() as stack:
        stack.enter_context(mock.patch("dtale.global_state.DATA", {data_id: df}))

        cfg = {"type": "simple"}
        builder = ColumnReplacement(data_id, "d", replacement_type, cfg)
        verify_builder(
            builder, lambda col: unittest.assertEqual(list(col.values), [1.1, 2.05, 3])
        )