diff --git a/HowBadIsMyBatch.ipynb b/HowBadIsMyBatch.ipynb index c68fae9598d..2675f86fe04 100644 --- a/HowBadIsMyBatch.ipynb +++ b/HowBadIsMyBatch.ipynb @@ -219,16 +219,24 @@ "source": [ "class DoseAnalysis:\n", " \n", + " @staticmethod\n", " def getNthDoseTable(dataFrame, dose):\n", - " nthDoseDataFrame = DataFrameFilter(dataFrame).filterBy(dose = dose)\n", - " dict = {\n", - " 'Total reports': len(nthDoseDataFrame.index),\n", - " 'Deaths': len(nthDoseDataFrame[nthDoseDataFrame['DIED'] == 'Y']),\n", - " 'Disabilities': len(nthDoseDataFrame[nthDoseDataFrame['DISABLE'] == 'Y']),\n", - " 'Life Threatening Illnesses': len(nthDoseDataFrame[nthDoseDataFrame['L_THREAT'] == 'Y'])\n", + " return pd.Series(DoseAnalysis._getNthDoseDict(DataFrameFilter(dataFrame).filterBy(dose = dose)))\n", + "\n", + " @staticmethod\n", + " def _getNthDoseDict(df):\n", + " nthDoseDict = {\n", + " 'Total reports': len(df.index),\n", + " 'Deaths': DoseAnalysis._count(df, 'DIED'),\n", + " 'Disabilities': DoseAnalysis._count(df, 'DISABLE'),\n", + " 'Life Threatening Illnesses': DoseAnalysis._count(df, 'L_THREAT')\n", " }\n", - " dict['Severe reports'] = (dict['Deaths'] + dict['Disabilities'] + dict['Life Threatening Illnesses'])/dict['Total reports'] * 100\n", - " return pd.Series(dict)" + " nthDoseDict['Severe reports'] = (nthDoseDict['Deaths'] + nthDoseDict['Disabilities'] + nthDoseDict['Life Threatening Illnesses']) / nthDoseDict['Total reports'] * 100\n", + " return nthDoseDict\n", + "\n", + " @staticmethod\n", + " def _count(dataFrame, column):\n", + " return len(dataFrame[dataFrame[column] == 'Y'])\n" ] }, { @@ -512,7 +520,7 @@ "\n", " def test_createBatchCodeTable(self):\n", " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n", - " VaersDescrReader(\"test/VAERS\").readAllVaersDescrs())\n", + " VaersDescrReader(dataDir = \"test/VAERS\").readAllVaersDescrs())\n", " self._test_createBatchCodeTable(dataFrame, \"MODERNA\", '1')\n", "\n", " def _test_createBatchCodeTable(self, dataFrame, manufacturer, dose):\n", @@ -618,10 +626,10 @@ "outputs": [], "source": [ "def saveBatchCodeTable(manufacturer, excelFile):\n", - " vaersDescrs = VaersDescrReader(\"VAERS\").readAllVaersDescrs()\n", + " vaersDescrs = VaersDescrReader(dataDir = \"VAERS\").readAllVaersDescrs()\n", " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n", " batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame, manufacturer = manufacturer, dose = '1')\n", - " display(manufacturer, batchCodeTable)\n", + " display(manufacturer + ':', batchCodeTable)\n", " batchCodeTable.to_excel(excelFile)" ] }, @@ -645,10 +653,10 @@ "outputs": [], "source": [ "def saveSevereEffectsBatchCodeTable(excelFile):\n", - " vaersDescrs = VaersDescrReader(\"VAERS\").readAllVaersDescrs()\n", + " vaersDescrs = VaersDescrReader(dataDir = \"VAERS\").readAllVaersDescrs()\n", " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n", " severeEffectsBatchCodeTable = BatchCodeTableFactory.createSevereEffectsBatchCodeTable(dataFrame, dose = '1')\n", - " display('severeEffectsBatchCodeTable', severeEffectsBatchCodeTable)\n", + " display('severeEffectsBatchCodeTable:', severeEffectsBatchCodeTable)\n", " severeEffectsBatchCodeTable.to_excel(excelFile)" ] }, @@ -671,12 +679,49 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "id": "202f7c3f", "metadata": {}, + "outputs": [], "source": [ - "see https://www.howbadismybatch.com/firstsecond.html" + "# https://www.howbadismybatch.com/firstsecond.html\n", + "\n", + "def saveNthDoseTable(dose, excelFile):\n", + " vaersDescrs = VaersDescrReader(dataDir = \"VAERS\").readAllVaersDescrs()\n", + " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n", + " doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose)\n", + " display(f'doseTable(dose = {dose}):', doseTable)\n", + " doseTable.to_excel(excelFile)\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "394fa19d", + "metadata": {}, + "outputs": [], + "source": [ + "saveNthDoseTable(dose = '1', excelFile = 'results/firstDoseTable.xlsx')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "686d4ddf", + "metadata": {}, + "outputs": [], + "source": [ + "saveNthDoseTable(dose = '2', excelFile = 'results/secondDoseTable.xlsx')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6bc676b", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {