X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Futils.py;h=0bf78f09bfa1c3290fa80ffa66a4827d22e3efbb;hp=154b6e9b2306e3336fca6976e06ed28bc6bcc13b;hb=f2f19bad6847e315366e5e9ab4952fded0097b1f;hpb=aaa58d348c375f80e65dfdf62a679dd0cbac4411 diff --git a/resources/tools/presentation/utils.py b/resources/tools/presentation/utils.py index 154b6e9b23..0bf78f09bf 100644 --- a/resources/tools/presentation/utils.py +++ b/resources/tools/presentation/utils.py @@ -68,6 +68,29 @@ def relative_change(nr1, nr2): return float(((nr2 - nr1) / nr1) * 100) +def remove_outliers(input_data, outlier_const): + """ + + :param input_data: Data from which the outliers will be removed. + :param outlier_const: Outlier constant. + :type input_data: list + :type outlier_const: float + :returns: The input list without outliers. + :rtype: list + """ + + data = np.array(input_data) + upper_quartile = np.percentile(data, 75) + lower_quartile = np.percentile(data, 25) + iqr = (upper_quartile - lower_quartile) * outlier_const + quartile_set = (lower_quartile - iqr, upper_quartile + iqr) + result_lst = list() + for y in data.tolist(): + if quartile_set[0] <= y <= quartile_set[1]: + result_lst.append(y) + return result_lst + + def find_outliers(input_data, outlier_const=1.5): """Go through the input data and generate two pandas series: - input data without outliers @@ -164,8 +187,8 @@ def execute_command(cmd): stdout, stderr = proc.communicate() - logging.info(stdout) - logging.info(stderr) + logging.debug(stdout) + logging.debug(stderr) if proc.returncode != 0: logging.error(" Command execution failed.")