From 31963fa40bc72fe56a1a84ce605d392d5877a46b Mon Sep 17 00:00:00 2001 From: frankknoll Date: Mon, 21 Feb 2022 13:55:08 +0100 Subject: [PATCH] refactoring --- src/HowBadIsMyBatch.ipynb | 52 +++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/src/HowBadIsMyBatch.ipynb b/src/HowBadIsMyBatch.ipynb index 8048d86a081..9d474a48618 100644 --- a/src/HowBadIsMyBatch.ipynb +++ b/src/HowBadIsMyBatch.ipynb @@ -281,16 +281,25 @@ "source": [ "class BatchCodeTableFactory:\n", "\n", - " def __init__(self, dataFrame : pd.DataFrame):\n", + " def __init__(self, dataFrame: pd.DataFrame):\n", " self.dataFrame = DataFrameFilter().filterByCovid19(dataFrame)\n", - " self.countryBatchCodeTable = None\n", + " self.countryBatchCodeTable = SummationTableFactory.createSummationTable(\n", + " self.dataFrame.groupby(\n", + " [\n", + " self.dataFrame['COUNTRY'],\n", + " self.dataFrame['VAX_LOT']\n", + " ]))\n", "\n", " def createGlobalBatchCodeTable(self):\n", - " return self.createBatchCodeTableByCountry(None)\n", + " return self._postProcess(SummationTableFactory.createSummationTable(self.dataFrame.groupby('VAX_LOT')))\n", "\n", " def createBatchCodeTableByCountry(self, country):\n", - " batchCodeTable = self._createBatchCodeTableByCountry(country)\n", - " batchCodeTable = CompanyColumnAdder.addCompanyColumn(batchCodeTable, CompanyColumnAdder.createCompanyByBatchCodeTable(self.dataFrame))\n", + " return self._postProcess(self._getBatchCodeTableByCountry(country))\n", + "\n", + " def _postProcess(self, batchCodeTable):\n", + " batchCodeTable = CompanyColumnAdder.addCompanyColumn(\n", + " batchCodeTable,\n", + " CompanyColumnAdder.createCompanyByBatchCodeTable(self.dataFrame))\n", " batchCodeTable = batchCodeTable[\n", " [\n", " 'Adverse Reaction Reports',\n", @@ -301,33 +310,16 @@ " 'Severe reports',\n", " 'Lethality'\n", " ]]\n", - " return batchCodeTable.sort_values(by = 'Severe reports', ascending = False)\n", + " return batchCodeTable.sort_values(by='Severe reports', ascending=False)\n", "\n", - " # FK-TODO: refactor\n", - " def _createBatchCodeTableByCountry(self, country):\n", - " if country is None:\n", - " return SummationTableFactory.createSummationTable(self.dataFrame.groupby('VAX_LOT'))\n", + " def _getBatchCodeTableByCountry(self, country):\n", + " if country in self.countryBatchCodeTable.index:\n", + " return self.countryBatchCodeTable.loc[country]\n", + " else:\n", + " return self._getEmptyBatchCodeTable()\n", "\n", - " if self.countryBatchCodeTable is None:\n", - " self.countryBatchCodeTable = self._getCountryBatchCodeTable()\n", - " \n", - " return self._getCountry(self.countryBatchCodeTable, country)\n", - "\n", - " def _getCountryBatchCodeTable(self):\n", - " return SummationTableFactory.createSummationTable(\n", - " self.dataFrame.groupby(\n", - " [\n", - " self.dataFrame['COUNTRY'],\n", - " self.dataFrame['VAX_LOT']\n", - " ]))\n", - "\n", - " def _getCountry(self, countryBatchCodeTable, country):\n", - " return countryBatchCodeTable.loc[country] if country in countryBatchCodeTable.index else self._getEmptyBatchCodeTable(countryBatchCodeTable)\n", - " \n", - " def _getEmptyBatchCodeTable(self, countryBatchCodeTable):\n", - " return countryBatchCodeTable[0:0].droplevel(0)\n", - "\n", - " " + " def _getEmptyBatchCodeTable(self):\n", + " return self.countryBatchCodeTable[0:0].droplevel(0)\n" ] }, {