def test_robust_cv_series_fill_na(): fill = 1 data = pd.Series(np.zeros(100)) cv = utils.robust_cv(data, fill_value=fill) assert np.isclose(cv, fill)
def test_robust_cv_series(): data = pd.Series(np.random.normal(size=100, loc=1)) cv = utils.robust_cv(data) test_cv = utils.median_abs_deviation(data, scale="normal") / data.median() assert np.isclose(cv, test_cv)
def test_robust_cv_fill_na(): fill = 1 data = np.zeros((100, 200)) data = pd.DataFrame(data) cv = utils.robust_cv(data, fill_value=fill) assert (cv == fill).all()
def test_robust_cv_all_zeros(): data = np.zeros((100, 200)) data = pd.DataFrame(data) cv = utils.robust_cv(data) assert cv.isna().all()
def test_robust_cv_valid_data(random_df): data = random_df cv = utils.robust_cv(data, fill_value=0) cv_test = utils.mad(data) / data.median() cv_test = cv_test.fillna(0) assert np.isclose(cv, cv_test).all()
def test_robust_cv_single_row_df(single_row_df): data = single_row_df # nans are converted to inf, all values should be inf assert utils.robust_cv(data).isna().all()