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']))
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]))
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]) )
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"]), )
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', ' - ']))
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), )
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", " - "]), )
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), )
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", " - "]), )
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]))
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]))
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"]), )
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]) )
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]) )