Files
HowBadIsMyBatch/src/BarChartDescriptionTables.py
frankknoll 619a39b380 refactoring
2023-08-26 22:15:04 +02:00

30 lines
1.1 KiB
Python

import math
import numpy as np
class BarChartDescriptionTables:
@staticmethod
def filter(barChartDescriptionTable, predicate):
return barChartDescriptionTable[barChartDescriptionTable.apply(
lambda barChartDescription: predicate(
barChartDescription['BAR_CHART_DESCRIPTION']),
axis='columns')]
@staticmethod
def isValidJensenShannonDistance(barChartDescription):
jensenShannonDistance = barChartDescription['Jensen-Shannon distance']
return not math.isnan(jensenShannonDistance)
@staticmethod
def hasMinSizeOfGuessedHistogram(barChartDescription, minSizeOfGuessedHistogram):
sizeOfGuessedHistogram = sum(
barChartDescription['Adverse Reaction Reports guessed'])
return sizeOfGuessedHistogram >= minSizeOfGuessedHistogram
@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))