diff --git a/HowBadIsMyBatch.ipynb b/HowBadIsMyBatch.ipynb index 49cccd42128..d5f4b236ed6 100644 --- a/HowBadIsMyBatch.ipynb +++ b/HowBadIsMyBatch.ipynb @@ -221,17 +221,17 @@ " \n", " @staticmethod\n", " def getNthDoseTable(dataFrame, dose):\n", - " return pd.Series(DoseAnalysis._getNthDoseDict(DataFrameFilter(dataFrame).filterBy(dose = dose)))\n", + " return pd.DataFrame(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", + " '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", - " nthDoseDict['Severe reports'] = (nthDoseDict['Deaths'] + nthDoseDict['Disabilities'] + nthDoseDict['Life Threatening Illnesses']) / nthDoseDict['Total reports'] * 100\n", + " nthDoseDict['Severe reports (%)'] = [(nthDoseDict['Deaths'][0] + nthDoseDict['Disabilities'][0] + nthDoseDict['Life Threatening Illnesses'][0]) / nthDoseDict['Total reports'][0] * 100]\n", " return nthDoseDict\n", "\n", " @staticmethod\n", @@ -549,7 +549,7 @@ "metadata": {}, "outputs": [], "source": [ - "from pandas.testing import assert_series_equal\n", + "from pandas.testing import assert_frame_equal\n", "\n", "class DoseAnalysisTest(unittest.TestCase):\n", "\n", @@ -566,13 +566,13 @@ " \"4711\"],\n", " dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n", " dose = '1',\n", - " doseTableExpected = pd.Series(\n", + " doseTableExpected = pd.DataFrame(\n", " {\n", - " 'Total reports': 2,\n", - " 'Deaths': 2,\n", - " 'Disabilities': 1,\n", - " 'Life Threatening Illnesses': 1,\n", - " 'Severe reports': (2 + 1 + 1)/2 * 100\n", + " 'Total reports': [2],\n", + " 'Deaths': [2],\n", + " 'Disabilities': [1],\n", + " 'Life Threatening Illnesses': [1],\n", + " 'Severe reports (%)': [(2 + 1 + 1)/2 * 100]\n", " }))\n", "\n", " def test_getSecondDoseTable(self):\n", @@ -588,13 +588,13 @@ " \"4711\"],\n", " dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n", " dose = '2',\n", - " doseTableExpected = pd.Series(\n", + " doseTableExpected = pd.DataFrame(\n", " {\n", - " 'Total reports': 1,\n", - " 'Deaths': 1,\n", - " 'Disabilities': 0,\n", - " 'Life Threatening Illnesses': 0,\n", - " 'Severe reports': (1 + 0 + 0)/1 * 100\n", + " 'Total reports': [1],\n", + " 'Deaths': [1],\n", + " 'Disabilities': [0],\n", + " 'Life Threatening Illnesses': [0],\n", + " 'Severe reports (%)': [(1 + 0 + 0)/1 * 100]\n", " }))\n", "\n", " def _test_getNthDoseTable(self, dataFrame, dose, doseTableExpected):\n", @@ -602,7 +602,7 @@ " doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose)\n", " \n", " # Then\n", - " assert_series_equal(doseTable, doseTableExpected)\n", + " assert_frame_equal(doseTable, doseTableExpected)\n", "\n", " def createDataFrame(self, index, columns, data, dtypes = {}):\n", " return pd.DataFrame(index = index, columns = columns, data = data).astype(dtypes)\n"