diff --git a/src/HowBadIsMyBatch.ipynb b/src/HowBadIsMyBatch.ipynb index 7cca9e58bdc..e4fd0a9156d 100644 --- a/src/HowBadIsMyBatch.ipynb +++ b/src/HowBadIsMyBatch.ipynb @@ -289,27 +289,7 @@ " 'Lethality'\n", " ]]\n", " batchCodeTable = batchCodeTable.sort_values(by = 'Total Number of Adverse Reaction Reports', ascending = False)\n", - " return BatchCodeTableFactory._addCompanyColumn(batchCodeTable, BatchCodeTableFactory._createCompanyByBatchCodeTable(dataFrame))\n", - "\n", - " @staticmethod\n", - " def _addCompanyColumn(batchCodeTable, companyByBatchCodeTable):\n", - " return pd.merge(\n", - " batchCodeTable,\n", - " companyByBatchCodeTable,\n", - " how = 'left',\n", - " left_index = True,\n", - " right_index = True,\n", - " validate = 'one_to_one')\n", - "\n", - " @staticmethod\n", - " def _createCompanyByBatchCodeTable(dataFrame):\n", - " return BatchCodeTableFactory._createManufacturerByBatchCodeTable(dataFrame).rename(columns = {\"VAX_MANU\": \"Company\"})\n", - "\n", - " @staticmethod\n", - " def _createManufacturerByBatchCodeTable(dataFrame):\n", - " manufacturerByBatchCodeTable = dataFrame[['VAX_LOT', 'VAX_MANU']]\n", - " manufacturerByBatchCodeTable = manufacturerByBatchCodeTable.drop_duplicates(subset = ['VAX_LOT'])\n", - " return manufacturerByBatchCodeTable.set_index('VAX_LOT')\n" + " return CompanyColumnAdder.addCompanyColumn(batchCodeTable, CompanyColumnAdder.createCompanyByBatchCodeTable(dataFrame))\n" ] }, { @@ -388,6 +368,36 @@ " return dataFrame\n" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "2dad09e5", + "metadata": {}, + "outputs": [], + "source": [ + "class CompanyColumnAdder:\n", + " \n", + " @staticmethod\n", + " def addCompanyColumn(batchCodeTable, companyByBatchCodeTable):\n", + " return pd.merge(\n", + " batchCodeTable,\n", + " companyByBatchCodeTable,\n", + " how = 'left',\n", + " left_index = True,\n", + " right_index = True,\n", + " validate = 'one_to_one')\n", + "\n", + " @staticmethod\n", + " def createCompanyByBatchCodeTable(dataFrame):\n", + " return CompanyColumnAdder._createManufacturerByBatchCodeTable(dataFrame).rename(columns = {\"VAX_MANU\": \"Company\"})\n", + "\n", + " @staticmethod\n", + " def _createManufacturerByBatchCodeTable(dataFrame):\n", + " manufacturerByBatchCodeTable = dataFrame[['VAX_LOT', 'VAX_MANU']]\n", + " manufacturerByBatchCodeTable = manufacturerByBatchCodeTable.drop_duplicates(subset = ['VAX_LOT'])\n", + " return manufacturerByBatchCodeTable.set_index('VAX_LOT')\n" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1364,7 +1374,6 @@ "outputs": [], "source": [ "def createAndSaveAndDisplayBatchCodeTableByCountry(nonDomesticVaers, country, minADRsForLethality = None):\n", - " # FK-TODO: add Company column\n", " batchCodeTable = InternationalLotTableFactory.createBatchCodeTableByCountry(nonDomesticVaers, country)\n", " batchCodeTable.index.set_names(\"Batch\", inplace = True)\n", " if minADRsForLethality is not None:\n",