def helper_impute_result_check(self, data, result):
"""
check if the imputed reuslt valid
now, check for:
1. contains no nan anymore
2. orignal non-nan value should remain the same
"""
# check 1
self.assertEqual(pd.isnull(result).sum().sum(), 0)
# check 2
# the original non-missing values must keep unchanged
# to check, cannot use pd equals, since the imputer may convert:
# 1 -> 1.0
# have to do loop checking
missing_value_mask = pd.isnull(data)
for col_name in data:
data_non_missing = data[~missing_value_mask[col_name]][col_name]
result_non_missing = result[~missing_value_mask[col_name]][col_name]
for i in data_non_missing.index:
self.assertEqual(data_non_missing[i]==result_non_missing[i], True,
msg="not equals in column: {}".format(col_name))
评论列表
文章目录