From 0f05b5aed8a4bd952fcd5471cb599a3980d3ef24 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Sat, 26 Aug 2023 22:05:46 +0200 Subject: [PATCH] refactoring --- src/BarChartDescriptionTables.py | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/BarChartDescriptionTables.py b/src/BarChartDescriptionTables.py index d96950ed11e..bd377854c65 100644 --- a/src/BarChartDescriptionTables.py +++ b/src/BarChartDescriptionTables.py @@ -6,10 +6,9 @@ class BarChartDescriptionTables: @staticmethod def filterValidJensenShannonDistances(barChartDescriptionTable): - return barChartDescriptionTable[barChartDescriptionTable.apply( - lambda barChartDescription: BarChartDescriptionTables._isValidJensenShannonDistance( - barChartDescription['BAR_CHART_DESCRIPTION']), - axis='columns')] + return BarChartDescriptionTables._filter( + barChartDescriptionTable, + BarChartDescriptionTables._isValidJensenShannonDistance) @staticmethod def _isValidJensenShannonDistance(barChartDescription): @@ -18,11 +17,10 @@ class BarChartDescriptionTables: @staticmethod def filterHasMinSizeOfGuessedHistogram(barChartDescriptionTable, minSizeOfGuessedHistogram): - return barChartDescriptionTable[ - barChartDescriptionTable.apply( - lambda barChartDescription: BarChartDescriptionTables._hasMinSizeOfGuessedHistogram( - barChartDescription['BAR_CHART_DESCRIPTION'], minSizeOfGuessedHistogram), - axis='columns')] + return BarChartDescriptionTables._filter( + barChartDescriptionTable, + lambda barChartDescription: + BarChartDescriptionTables._hasMinSizeOfGuessedHistogram(barChartDescription, minSizeOfGuessedHistogram)) @staticmethod def _hasMinSizeOfGuessedHistogram(barChartDescription, minSizeOfGuessedHistogram): @@ -32,13 +30,19 @@ class BarChartDescriptionTables: @staticmethod def filterHasCountryWithGuessedGreaterThanKnown(barChartDescriptionTable): - return barChartDescriptionTable[barChartDescriptionTable.apply( - lambda barChartDescription:BarChartDescriptionTables._hasCountryWithGuessedGreaterThanKnown( - barChartDescription['BAR_CHART_DESCRIPTION']), - axis='columns')] + return BarChartDescriptionTables._filter( + barChartDescriptionTable, + BarChartDescriptionTables._hasCountryWithGuessedGreaterThanKnown) @staticmethod def _hasCountryWithGuessedGreaterThanKnown(barChartDescription): guessedBarChart = barChartDescription['Adverse Reaction Reports guessed'] knownBarChart = barChartDescription['Adverse Reaction Reports known'] return np.any(np.asarray(guessedBarChart) > np.asarray(knownBarChart)) + + @staticmethod + def _filter(barChartDescriptionTable, predicate): + return barChartDescriptionTable[barChartDescriptionTable.apply( + lambda barChartDescription: predicate( + barChartDescription['BAR_CHART_DESCRIPTION']), + axis='columns')]