def test_encode_nan_dd_copy(get_indicator_dd_setup): obj, X = get_indicator_dd_setup new_col = "b_nan" col = "b" res = indicators.encode_nans(X, col, new_col=new_col, copy_data=True).compute() assert new_col not in X.columns assert new_col in res.columns res = indicators.encode_nans(X, col, new_col=new_col, copy_data=False).compute() assert new_col in X.columns assert new_col in res.columns
def test_encode_nan_copy_dd(get_indicator_dd_setup, copy_it): obj, X = get_indicator_dd_setup col = "c" exp = np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]) res = indicators.encode_nans(X, col, new_col="c_nan", copy_data=copy_it).compute() np.testing.assert_array_equal(res["c_nan"].values, exp)
def test_encode_nan_dd(col, exp, get_indicator_dd_setup): obj, X = get_indicator_dd_setup new_col = f"{col}_nan" res = indicators.encode_nans(X, col, new_col=new_col).compute() np.testing.assert_array_equal(res[new_col].values, np.array(exp))
def test_encode_nan_pd_fails_on_dupe_column_name(get_indicator_pd_setup): obj, X = get_indicator_pd_setup col = "c" X["c_nan"] = np.ones(10) with pytest.raises(AssertionError): _ = indicators.encode_nans(X, col, new_col="c_nan")