fix: replace absolute difference with difference in compareOperator (#16930)

* fix: replace absolute difference with difference in compareOperator

* fix ut
This commit is contained in:
Yongjie Zhao 2021-10-04 06:31:19 +01:00 committed by GitHub
parent ace9c78684
commit 387ac2b6d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 9 deletions

View File

@ -165,7 +165,7 @@ class PandasAxis(int, Enum):
class PandasPostprocessingCompare(str, Enum):
ABS = "absolute"
DIFF = "difference"
PCT = "percentage"
RAT = "ratio"

View File

@ -498,13 +498,13 @@ def compare( # pylint: disable=too-many-arguments
)
if compare_type not in tuple(PandasPostprocessingCompare):
raise QueryObjectValidationError(
_("`compare_type` must be `absolute`, `percentage` or `ratio`")
_("`compare_type` must be `difference`, `percentage` or `ratio`")
)
if len(source_columns) == 0:
return df
for s_col, c_col in zip(source_columns, compare_columns):
if compare_type == PandasPostprocessingCompare.ABS:
if compare_type == PandasPostprocessingCompare.DIFF:
diff_series = df[s_col] - df[c_col]
elif compare_type == PandasPostprocessingCompare.PCT:
diff_series = (

View File

@ -478,18 +478,18 @@ class TestPostProcessing(SupersetTestCase):
self.assertListEqual(series_to_list(post_df["z"]), [0.0, 2.0, 8.0, 6.0])
def test_compare(self):
# `absolute` comparison
# `difference` comparison
post_df = proc.compare(
df=timeseries_df2,
source_columns=["y"],
compare_columns=["z"],
compare_type="absolute",
compare_type="difference",
)
self.assertListEqual(
post_df.columns.tolist(), ["label", "y", "z", "absolute__y__z",]
post_df.columns.tolist(), ["label", "y", "z", "difference__y__z",]
)
self.assertListEqual(
series_to_list(post_df["absolute__y__z"]), [0.0, -2.0, -8.0, -6.0],
series_to_list(post_df["difference__y__z"]), [0.0, -2.0, -8.0, -6.0],
)
# drop original columns
@ -497,10 +497,10 @@ class TestPostProcessing(SupersetTestCase):
df=timeseries_df2,
source_columns=["y"],
compare_columns=["z"],
compare_type="absolute",
compare_type="difference",
drop_original_columns=True,
)
self.assertListEqual(post_df.columns.tolist(), ["label", "absolute__y__z",])
self.assertListEqual(post_df.columns.tolist(), ["label", "difference__y__z",])
# `percentage` comparison
post_df = proc.compare(