saveBatchCodeTable()

This commit is contained in:
frankknoll
2022-01-25 22:02:44 +01:00
parent 7c3654d05f
commit fd3c49ce8b
2 changed files with 17 additions and 33 deletions

View File

@@ -44,17 +44,17 @@
"metadata": {},
"outputs": [],
"source": [
"def createPivotTable(df):\n",
"def createBatchCodeTable(df):\n",
" def filter(df, col):\n",
" return df[df[col] == 'Y'][['VAX_LOT']]\n",
"\n",
" pivotTableDict = {\n",
" batchCodeTableDict = {\n",
" 'ADRs': df[['VAX_LOT']].value_counts(),\n",
" 'DEATHS': filter(df, 'DIED').value_counts(),\n",
" 'DISABILITIES': filter(df, 'DISABLE').value_counts(),\n",
" 'LIFE THREATENING ILLNESSES': filter(df, 'L_THREAT').value_counts()\n",
" }\n",
" return pd.concat(pivotTableDict, axis=1).replace(to_replace=np.nan, value=0)\n"
" return pd.concat(batchCodeTableDict, axis=1).replace(to_replace=np.nan, value=0)\n"
]
},
{
@@ -64,7 +64,8 @@
"metadata": {},
"outputs": [],
"source": [
"df_moderna = createDataFrame(\"VAERS\", \"MODERNA\")"
"def saveBatchCodeTable(manufacturer, excelFile):\n",
" createBatchCodeTable(createDataFrame(\"VAERS\", manufacturer)).to_excel(excelFile)\n"
]
},
{
@@ -74,29 +75,9 @@
"metadata": {},
"outputs": [],
"source": [
"df_moderna"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d9191d12",
"metadata": {},
"outputs": [],
"source": [
"pivotTable = createPivotTable(df_moderna)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "bb7b2963",
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"pivotTable"
"saveBatchCodeTable(\"MODERNA\", \"results/moderna.xlsx\")\n",
"saveBatchCodeTable(\"PFIZER\\BIONTECH\", \"results/pfizer.xlsx\")\n",
"saveBatchCodeTable(\"JANSSEN\", \"results/janssen.xlsx\")"
]
},
{
@@ -121,12 +102,14 @@
"\n",
"class HowBadIsMyBatchTest(unittest.TestCase):\n",
"\n",
" def test_createPivotTable(self):\n",
" def test_createBatchCodeTable(self):\n",
" # Given\n",
" pivotTable = createPivotTable(createDataFrame(\"test/VAERS\", \"MODERNA\"))\n",
" dataFrame = createDataFrame(\"test/VAERS\", \"MODERNA\")\n",
" display(\"dataFrame:\", dataFrame)\n",
" batchCodeTable = createBatchCodeTable(dataFrame)\n",
"\n",
" # When\n",
" pivotTableExpected = pd.DataFrame(\n",
" batchCodeTableExpected = pd.DataFrame(\n",
" {\n",
" 'ADRs': [2, 1],\n",
" 'DEATHS': [0, 1],\n",
@@ -134,11 +117,11 @@
" 'LIFE THREATENING ILLNESSES': [0.0, 0.0]\n",
" },\n",
" index = pd.MultiIndex.from_arrays([['025L20A', '037K20A']], names = ('VAX_LOT',)))\n",
" display(\"actual:\", pivotTable)\n",
" display(\"expected:\", pivotTableExpected)\n",
" display(\"batchCodeTable:\", batchCodeTable)\n",
" display(\"batchCodeTableExpected:\", batchCodeTableExpected)\n",
"\n",
" # Then\n",
" assert_frame_equal(pivotTable, pivotTableExpected, check_dtype = False)\n"
" assert_frame_equal(batchCodeTable, batchCodeTableExpected, check_dtype = False)\n"
]
},
{