From 193abb2b66ad510dc1fa936e4572d20ee3c5bb4f Mon Sep 17 00:00:00 2001 From: frankknoll Date: Mon, 21 Feb 2022 12:44:33 +0100 Subject: [PATCH] removing some unused analysis --- src/HowBadIsMyBatch.ipynb | 736 +------------------------------------- 1 file changed, 3 insertions(+), 733 deletions(-) diff --git a/src/HowBadIsMyBatch.ipynb b/src/HowBadIsMyBatch.ipynb index f2db996578c..ec578c2c69a 100644 --- a/src/HowBadIsMyBatch.ipynb +++ b/src/HowBadIsMyBatch.ipynb @@ -230,95 +230,6 @@ " dataFrame.columns = [\"_\".join(a) for a in dataFrame.columns.to_flat_index()]\n" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "99945ca8", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "class BatchCodeTableFactory:\n", - "\n", - " @staticmethod\n", - " def createBatchCodeTable(dataFrame : pd.DataFrame, minADRsForLethality = None):\n", - " dataFrame = DataFrameFilter().filterByCovid19(dataFrame)\n", - " batchCodeTable = BatchCodeTableFactory._createSummationTableByVAX_LOT(dataFrame)[\n", - " [\n", - " 'Adverse Reaction Reports',\n", - " 'Deaths',\n", - " 'Disabilities',\n", - " 'Life Threatening Illnesses',\n", - " 'Company',\n", - " 'Lethality'\n", - " ]]\n", - " if minADRsForLethality is not None:\n", - " batchCodeTable.loc[batchCodeTable['Adverse Reaction Reports'] < minADRsForLethality, 'Lethality'] = np.nan\n", - " return batchCodeTable\n", - "\n", - " # create table from https://www.howbadismybatch.com/combined.html\n", - " @staticmethod\n", - " def createSevereEffectsBatchCodeTable(dataFrame : pd.DataFrame, dose):\n", - " dataFrame = DataFrameFilter().filterByCovid19(dataFrame)\n", - " dataFrame = DataFrameFilter().filterBy(dataFrame, dose = dose)\n", - " return BatchCodeTableFactory._createSummationTableByVAX_LOT(dataFrame)[\n", - " [\n", - " 'Adverse Reaction Reports', \n", - " 'Deaths',\n", - " 'Disabilities',\n", - " 'Life Threatening Illnesses',\n", - " 'Hospitalisations',\n", - " 'Emergency Room or Doctor Visits',\n", - " 'Company'\n", - " ]]\n", - "\n", - " @staticmethod\n", - " def _createSummationTableByVAX_LOT(dataFrame):\n", - " batchCodeTable = SummationTableFactory.createSummationTable(dataFrame.groupby('VAX_LOT'))\n", - " batchCodeTable['Lethality'] = batchCodeTable['Deaths'] / batchCodeTable['Adverse Reaction Reports'] * 100\n", - " batchCodeTable = batchCodeTable[\n", - " [\n", - " 'Adverse Reaction Reports',\n", - " 'Deaths',\n", - " 'Disabilities',\n", - " 'Life Threatening Illnesses',\n", - " 'Hospitalisations',\n", - " 'Emergency Room or Doctor Visits',\n", - " 'Lethality'\n", - " ]]\n", - " batchCodeTable = batchCodeTable.sort_values(by = 'Adverse Reaction Reports', ascending = False)\n", - " return CompanyColumnAdder.addCompanyColumn(batchCodeTable, CompanyColumnAdder.createCompanyByBatchCodeTable(dataFrame))\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41d4fa30", - "metadata": {}, - "outputs": [], - "source": [ - "class DoseTableFactory:\n", - " \n", - " @staticmethod\n", - " def createDoseTable(dataFrame):\n", - " dataFrame = DataFrameFilter().filterByCovid19(dataFrame)\n", - " return SummationTableFactory.createSummationTableHavingSevereReportsColumn(\n", - " dataFrame.groupby(\n", - " dataFrame['VAX_DOSE_SERIES'].rename('Dose')))\n", - "\n", - " @staticmethod\n", - " def createDoseByMonthTable(dataFrame):\n", - " dataFrame = DataFrameFilter().filterByCovid19(dataFrame)\n", - " return SummationTableFactory.createSummationTableHavingSevereReportsColumn(\n", - " dataFrame.groupby(\n", - " [\n", - " dataFrame['RECVDATE'].dt.year.rename('Year'),\n", - " dataFrame['RECVDATE'].dt.month.rename('Month'),\n", - " dataFrame['VAX_DOSE_SERIES'].rename('Dose')\n", - " ]))\n" - ] - }, { "cell_type": "code", "execution_count": null, @@ -861,263 +772,6 @@ " assert_frame_equal(dataFrame, dataFrameExpected, check_dtype = False)\n" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "e14465d7", - "metadata": {}, - "outputs": [], - "source": [ - "from pandas.testing import assert_frame_equal\n", - "\n", - "class BatchCodeTableFactoryTest(unittest.TestCase):\n", - "\n", - " def test_createSevereEffectsBatchCodeTable(self):\n", - " # Given\n", - " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n", - " [\n", - " {\n", - " 'VAERSDATA': TestHelper.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n", - " data = [ [1, 1, 0, 1, 1],\n", - " [0, 0, 1, 0, 1]],\n", - " index = [\n", - " \"0916600\",\n", - " \"0916601\"]),\n", - " 'VAERSVAX': TestHelper.createDataFrame(\n", - " columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", - " data = [ ['COVID19', 'MODERNA', '037K20A', '1'],\n", - " ['COVID19', 'PFIZER\\BIONTECH', '025L20A', '1']],\n", - " index = [\n", - " \"0916600\",\n", - " \"0916601\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " }\n", - " ])\n", - " dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n", - "\n", - " # When\n", - " batchCodeTable = BatchCodeTableFactory.createSevereEffectsBatchCodeTable(dataFrame, '1')\n", - "\n", - " # Then\n", - " batchCodeTableExpected = pd.DataFrame(\n", - " data = {\n", - " 'Adverse Reaction Reports': [1, 1],\n", - " 'Deaths': [0, 1],\n", - " 'Disabilities': [1, 0],\n", - " 'Life Threatening Illnesses': [0, 1],\n", - " 'Hospitalisations': [0, 1],\n", - " 'Emergency Room or Doctor Visits': [1, 1],\n", - " 'Company': ['PFIZER\\BIONTECH', 'MODERNA']\n", - " },\n", - " index = pd.Index(['025L20A', '037K20A'], name = 'VAX_LOT'))\n", - " assert_frame_equal(batchCodeTable, batchCodeTableExpected, check_dtype = False)\n", - "\n", - " def test_createBatchCodeTable(self):\n", - " # Given\n", - " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n", - " [\n", - " {\n", - " 'VAERSDATA': TestHelper.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n", - " data = [ [1, 0, 0, 0, 0],\n", - " [0, 0, 1, 0, 0]],\n", - " index = [\n", - " \"0916600\",\n", - " \"0916601\"]),\n", - " 'VAERSVAX': TestHelper.createDataFrame(\n", - " columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", - " data = [ ['COVID19', 'MODERNA', '037K20A', '1'],\n", - " ['COVID19', 'MODERNA', '025L20A', '1']],\n", - " index = [\n", - " \"0916600\",\n", - " \"0916601\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " },\n", - " {\n", - " 'VAERSDATA': TestHelper.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n", - " data = [ [0, 0, 0, 0, 0],\n", - " [0, 0, 1, 0, 0]],\n", - " index = [\n", - " \"1996873\",\n", - " \"1996874\"]),\n", - " 'VAERSVAX': TestHelper.createDataFrame(\n", - " columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", - " data = [ ['HPV9', 'MERCK & CO. INC.', 'R017624', 'UNK'],\n", - " ['COVID19', 'MODERNA', '025L20A', '1']],\n", - " index = [\n", - " \"1996873\",\n", - " \"1996874\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " }\n", - " ])\n", - " self._test_createBatchCodeTable(dataFrame)\n", - "\n", - " def test_createBatchCodeTable_minADRsForLethality(self):\n", - " # Given\n", - " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n", - " [\n", - " {\n", - " 'VAERSDATA': TestHelper.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n", - " data = [ [1, 0, 0, 0, 0],\n", - " [0, 0, 1, 0, 0]],\n", - " index = [\n", - " \"0916600\",\n", - " \"0916601\"]),\n", - " 'VAERSVAX': TestHelper.createDataFrame(\n", - " columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", - " data = [ ['COVID19', 'MODERNA', '037K20A', '1'],\n", - " ['COVID19', 'MODERNA', '025L20A', '1']],\n", - " index = [\n", - " \"0916600\",\n", - " \"0916601\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " },\n", - " {\n", - " 'VAERSDATA': TestHelper.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n", - " data = [ [0, 0, 0, 0, 0],\n", - " [0, 0, 1, 0, 0]],\n", - " index = [\n", - " \"1996873\",\n", - " \"1996874\"]),\n", - " 'VAERSVAX': TestHelper.createDataFrame(\n", - " columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", - " data = [ ['HPV9', 'MERCK & CO. INC.', 'R017624', 'UNK'],\n", - " ['COVID19', 'MODERNA', '025L20A', '1']],\n", - " index = [\n", - " \"1996873\",\n", - " \"1996874\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " }\n", - " ])\n", - " dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n", - "\n", - " # When\n", - " batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame, minADRsForLethality = 2)\n", - "\n", - " # Then\n", - " batchCodeTableExpected = pd.DataFrame(\n", - " data = {\n", - " 'Adverse Reaction Reports': [2, 1],\n", - " 'Deaths': [0, 1],\n", - " 'Disabilities': [2, 0],\n", - " 'Life Threatening Illnesses': [0, 0],\n", - " 'Company': ['MODERNA', 'MODERNA'],\n", - " 'Lethality': [0/2 * 100, np.nan]\n", - " },\n", - " index = pd.Index(['025L20A', '037K20A'], name = 'VAX_LOT'))\n", - " assert_frame_equal(batchCodeTable, batchCodeTableExpected, check_dtype = False)\n", - "\n", - " def test_createBatchCodeTableFromFiles(self):\n", - " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n", - " VaersDescrReader(dataDir = \"test/VAERS\").readVaersDescrsForYears([2021, 2022]))\n", - " DataFrameNormalizer.normalize(dataFrame)\n", - " self._test_createBatchCodeTable(dataFrame)\n", - "\n", - " def _test_createBatchCodeTable(self, dataFrame):\n", - " dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n", - "\n", - " # When\n", - " batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame)\n", - "\n", - " # Then\n", - " batchCodeTableExpected = pd.DataFrame(\n", - " data = {\n", - " 'Adverse Reaction Reports': [2, 1],\n", - " 'Deaths': [0, 1],\n", - " 'Disabilities': [2, 0],\n", - " 'Life Threatening Illnesses': [0, 0],\n", - " 'Company': ['MODERNA', 'MODERNA'],\n", - " 'Lethality': [0/2 * 100, 1/1 * 100]\n", - " },\n", - " index = pd.Index(['025L20A', '037K20A'], name = 'VAX_LOT'))\n", - " assert_frame_equal(batchCodeTable, batchCodeTableExpected, check_dtype = False)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "44c121ec", - "metadata": {}, - "outputs": [], - "source": [ - "from pandas.testing import assert_frame_equal\n", - "\n", - "class DoseTableFactoryTest(unittest.TestCase):\n", - "\n", - " def test_createDoseTable(self):\n", - " # Given\n", - " dataFrame = TestHelper.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES', 'HOSPITAL', 'ER_VISIT'],\n", - " data = [ [1, 0, 0, 'COVID19', 'MODERNA', '016M20A', '2', 0, 0],\n", - " [1, 0, 0, 'COVID19', 'MODERNA', '030L20A', '1', 0, 0],\n", - " [1, 1, 1, 'COVID19', 'MODERNA', '030L20B', '1', 0, 0]],\n", - " index = [\n", - " \"1048786\",\n", - " \"1048786\",\n", - " \"4711\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n", - " \n", - " # When\n", - " doseTable = DoseTableFactory.createDoseTable(dataFrame)\n", - "\n", - " # Then\n", - " assert_frame_equal(\n", - " doseTable,\n", - " pd.DataFrame(\n", - " data = {\n", - " 'Adverse Reaction Reports': [2, 1],\n", - " 'Deaths': [2, 1],\n", - " 'Disabilities': [1, 0],\n", - " 'Life Threatening Illnesses': [1, 0],\n", - " 'Severe reports': [2/2 * 100, 1/1 * 100],\n", - " 'Lethality': [2/2 * 100, 1/1 * 100]\n", - " },\n", - " index = pd.Index(['1', '2'], dtype = \"string\", name = 'Dose')))\n", - " \n", - " def test_createDoseByMonthTable(self):\n", - " # Given\n", - " parseDate = lambda dateStr: pd.to_datetime(dateStr, format = \"%m/%d/%Y\")\n", - " dataFrame = TestHelper.createDataFrame(\n", - " columns = ['RECVDATE', 'DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES', 'HOSPITAL', 'ER_VISIT'],\n", - " data = [ [parseDate('01/01/2021'), 1, 0, 0, 'COVID19', 'MODERNA', '016M20A', '2', 0, 0],\n", - " [parseDate('01/01/2021'), 1, 0, 0, 'COVID19', 'MODERNA', '030L20A', '1', 0, 0],\n", - " [parseDate('01/01/2021'), 1, 1, 1, 'COVID19', 'MODERNA', '030L20B', '1', 0, 0]],\n", - " index = [\n", - " \"1048786\",\n", - " \"1048786\",\n", - " \"4711\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n", - " \n", - " # When\n", - " doseByMonthTable = DoseTableFactory.createDoseByMonthTable(dataFrame)\n", - "\n", - " # Then\n", - " assert_frame_equal(\n", - " doseByMonthTable,\n", - " pd.DataFrame(\n", - " data = {\n", - " 'Adverse Reaction Reports': [2, 1],\n", - " 'Deaths': [2, 1],\n", - " 'Disabilities': [1, 0],\n", - " 'Life Threatening Illnesses': [1, 0],\n", - " 'Severe reports': [2/2 * 100, 1/1 * 100],\n", - " 'Lethality': [2/2 * 100, 1/1 * 100]\n", - " },\n", - " index = pd.MultiIndex.from_tuples(\n", - " [\n", - " (2021, 1, '1'),\n", - " (2021, 1, '2'),\n", - " ],\n", - " names = ('Year', 'Month', 'Dose'))),\n", - " check_index_type = False)\n" - ] - }, { "cell_type": "code", "execution_count": null, @@ -1344,119 +998,6 @@ "internationalVaers" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "dddde600", - "metadata": {}, - "outputs": [], - "source": [ - "vaers2019 = getVaersForYear(\"2019\")\n", - "vaers2019" - ] - }, - { - "cell_type": "markdown", - "id": "f677b620", - "metadata": {}, - "source": [ - "### Short-list of 2000 batches having severe effects" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc56831d", - "metadata": {}, - "outputs": [], - "source": [ - "def saveSevereEffectsBatchCodeTable(vaers, file):\n", - " severeEffectsBatchCodeTable = BatchCodeTableFactory.createSevereEffectsBatchCodeTable(vaers, dose = '1')\n", - " display(severeEffectsBatchCodeTable)\n", - " IOUtils.saveDataFrame(severeEffectsBatchCodeTable, file)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ace3fed9", - "metadata": {}, - "outputs": [], - "source": [ - "saveSevereEffectsBatchCodeTable(vaers, 'results/severeEffects')" - ] - }, - { - "cell_type": "markdown", - "id": "1b228a16", - "metadata": {}, - "source": [ - "### Variation in Effect of First and Second Doses" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "202f7c3f", - "metadata": {}, - "outputs": [], - "source": [ - "# https://www.howbadismybatch.com/firstsecond.html\n", - "DoseTableFactory.createDoseTable(vaers)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b333e5fb", - "metadata": {}, - "outputs": [], - "source": [ - "doseByMonthTable = DoseTableFactory.createDoseByMonthTable(vaers)\n", - "IOUtils.saveDataFrame(doseByMonthTable, 'results/firstsecond/doseByMonthTable')\n", - "doseByMonthTable" - ] - }, - { - "cell_type": "markdown", - "id": "075aa6c9", - "metadata": {}, - "source": [ - "### International Deadly Lots" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f8880f4", - "metadata": {}, - "outputs": [], - "source": [ - "# https://www.howbadismybatch.com/international.html" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54e03231", - "metadata": {}, - "outputs": [], - "source": [ - "internationalLotTable = InternationalLotTableFactory(nonDomesticVaers).createInternationalLotTable()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7e80e958", - "metadata": {}, - "outputs": [], - "source": [ - "internationalLotTable = internationalLotTable[internationalLotTable['Adverse Reaction Reports'] > 50]\n", - "IOUtils.saveDataFrame(internationalLotTable, 'results/international/International_Deadly_Lots')\n", - "internationalLotTable" - ] - }, { "cell_type": "code", "execution_count": null, @@ -1499,16 +1040,7 @@ "metadata": {}, "outputs": [], "source": [ - "countries = sorted(internationalVaers['COUNTRY'].unique())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e3d09ffa", - "metadata": {}, - "outputs": [], - "source": [ + "countries = sorted(internationalVaers['COUNTRY'].unique())\n", "printCountryOptions(countries)" ] }, @@ -1533,275 +1065,13 @@ " minADRsForLethality = minADRsForLethality)\n" ] }, - { - "cell_type": "markdown", - "id": "ba02139d", - "metadata": {}, - "source": [ - "### Batch Clusters" - ] - }, - { - "cell_type": "markdown", - "id": "9649a32d", - "metadata": {}, - "source": [ - "#### Pfizer Batches" - ] - }, - { - "cell_type": "markdown", - "id": "f6e460ab", - "metadata": {}, - "source": [ - "see https://www.howbadismybatch.com/clusters.html" - ] - }, { "cell_type": "code", "execution_count": null, - "id": "b769466d", + "id": "376b9193", "metadata": {}, "outputs": [], - "source": [ - "def createADRsByVAX_LOTTable(vaers, manufacturer):\n", - " dataFrame = DataFrameFilter().filterByCovid19(vaers)\n", - " dataFrame = DataFrameFilter().filterBy(dataFrame, manufacturer = manufacturer)\n", - " batchCodeTable = BatchCodeTableFactory._createSummationTableByVAX_LOT(dataFrame)[['Adverse Reaction Reports']].reset_index()\n", - " return batchCodeTable\n", - "\n", - "def filterColumnOfDataFrameWithRegexp(dataFrame, column, regexp):\n", - " return dataFrame[dataFrame[column].apply(lambda columnValue: bool(regexp.match(columnValue)))]\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "020b0d90", - "metadata": {}, - "outputs": [], - "source": [ - "import re\n", - "\n", - "batchCodeTable = createADRsByVAX_LOTTable(vaers, \"PFIZER\\BIONTECH\")\n", - "batchCodeTable['VAX_LOT_PREFIX'] = batchCodeTable['VAX_LOT'].str[:2]\n", - "batchCodeTable = batchCodeTable.sort_values(by = 'VAX_LOT_PREFIX', ascending = True)\n", - "twoLetterPrefix = re.compile(r'^[a-zA-Z]{2}')\n", - "batchCodeTable = filterColumnOfDataFrameWithRegexp(dataFrame = batchCodeTable, column = 'VAX_LOT_PREFIX', regexp = twoLetterPrefix)\n", - "batchCodeTable = batchCodeTable[batchCodeTable['VAX_LOT_PREFIX'].isin(['EN', 'EP', 'ER', 'EW', 'FA', 'FC', 'FD', 'FE', 'FH'])]\n", - "batchCodeTable = batchCodeTable[batchCodeTable['Adverse Reaction Reports'] > 400]\n", - "batchCodeTable" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02201726", - "metadata": {}, - "outputs": [], - "source": [ - "import seaborn as sns\n", - "\n", - "sns.set(rc = {'figure.figsize': (11.7, 8.27)})\n", - "sns.set_theme()\n", - "chart = sns.stripplot(x = \"VAX_LOT_PREFIX\", y = \"Adverse Reaction Reports\", data = batchCodeTable)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d6000b48", - "metadata": {}, - "outputs": [], - "source": [ - "sns.pointplot(x = \"VAX_LOT_PREFIX\", y = \"Adverse Reaction Reports\", data = batchCodeTable, estimator = np.mean)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cf53c8c8", - "metadata": {}, - "outputs": [], - "source": [ - "import seaborn as sns\n", - "sns.set_theme(style = \"ticks\", palette = \"pastel\")\n", - "\n", - "sns.boxplot(x = \"VAX_LOT_PREFIX\", y = \"Adverse Reaction Reports\", data = batchCodeTable)" - ] - }, - { - "cell_type": "markdown", - "id": "731c27a5", - "metadata": {}, - "source": [ - "#### Moderna Batches" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b4a9c489", - "metadata": {}, - "outputs": [], - "source": [ - "import re\n", - "\n", - "batchCodeTable = createADRsByVAX_LOTTable(vaers, \"MODERNA\")\n", - "modernaBatchCodePrefix = re.compile(r'^[0-9]{3}[a-zA-Z]')\n", - "batchCodeTable = filterColumnOfDataFrameWithRegexp(dataFrame = batchCodeTable, column = 'VAX_LOT', regexp = modernaBatchCodePrefix)\n", - "batchCodeTable['CONCENTRATION'] = batchCodeTable['VAX_LOT'].str[3]\n", - "batchCodeTable = batchCodeTable.sort_values(by = 'CONCENTRATION', ascending = True)\n", - "batchCodeTable = batchCodeTable[batchCodeTable['Adverse Reaction Reports'] > 400]\n", - "batchCodeTable" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e26c9d85", - "metadata": {}, - "outputs": [], - "source": [ - "import seaborn as sns\n", - "\n", - "order = ['J', 'K', 'L', 'M', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']\n", - "\n", - "sns.set(rc = {'figure.figsize': (11.7, 8.27)})\n", - "sns.set_theme()\n", - "chart = sns.stripplot(x = \"CONCENTRATION\", y = \"Adverse Reaction Reports\", data = batchCodeTable, order = order)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d1de13c7", - "metadata": {}, - "outputs": [], - "source": [ - "sns.pointplot(x = \"CONCENTRATION\", y = \"Adverse Reaction Reports\", data = batchCodeTable, estimator = np.mean, order = order)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29ae8ca2", - "metadata": {}, - "outputs": [], - "source": [ - "import seaborn as sns\n", - "sns.set_theme(style = \"ticks\", palette = \"pastel\")\n", - "\n", - "sns.boxplot(x = \"CONCENTRATION\", y = \"Adverse Reaction Reports\", data = batchCodeTable, order = order)" - ] - }, - { - "cell_type": "markdown", - "id": "259b6474", - "metadata": {}, - "source": [ - "### COVID-19 Vaccines vs. Flu Vaccines" - ] - }, - { - "cell_type": "markdown", - "id": "fa5c8480", - "metadata": {}, - "source": [ - "see https://www.bitchute.com/video/4HlIyBmOEJeY/ and https://www.bitchute.com/video/8wJYP2NpGwN2/" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f4196935", - "metadata": {}, - "outputs": [], - "source": [ - "def getFluBatchCodeTable(vaers):\n", - " dataFrame = DataFrameFilter().filterByFlu(vaers)\n", - " return _getCovid19BatchCodeTable(dataFrame)\n", - "\n", - "def getCovid19BatchCodeTable(vaers, manufacturer = None):\n", - " dataFrame = DataFrameFilter().filterByCovid19(vaers)\n", - " dataFrame = DataFrameFilter().filterBy(dataFrame, manufacturer = manufacturer)\n", - " return _getCovid19BatchCodeTable(dataFrame)\n", - "\n", - "def _getCovid19BatchCodeTable(dataFrame):\n", - " batchCodeTable = BatchCodeTableFactory._createSummationTableByVAX_LOT(dataFrame)[\n", - " [\n", - " 'Adverse Reaction Reports',\n", - " 'Deaths',\n", - " 'Disabilities',\n", - " 'Life Threatening Illnesses',\n", - " 'Company',\n", - " 'Lethality'\n", - " ]].reset_index()\n", - " batchCodeTable = batchCodeTable.sort_values(by = 'VAX_LOT', ascending = True)\n", - " return batchCodeTable\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6eeab206", - "metadata": {}, - "outputs": [], - "source": [ - "fluBatchCodeTable = getFluBatchCodeTable(vaers2019)\n", - "IOUtils.saveDataFrame(fluBatchCodeTable, 'results/flu/flu')\n", - "fluBatchCodeTable" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a66be712", - "metadata": {}, - "outputs": [], - "source": [ - "covid19PfizerBatchCodeTable = getCovid19BatchCodeTable(vaers, manufacturer = 'PFIZER\\BIONTECH')\n", - "IOUtils.saveDataFrame(covid19PfizerBatchCodeTable, 'results/flu/covid19Pfizer')\n", - "covid19PfizerBatchCodeTable" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9bcc91ab", - "metadata": {}, - "outputs": [], - "source": [ - "#import seaborn as sns\n", - "#\n", - "#sns.set(rc = {'figure.figsize': (11.7, 8.27)})\n", - "#sns.set_theme()\n", - "#chart = sns.stripplot(x = \"VAX_LOT\", y = \"Adverse Reaction Reports\", data = covid19PfizerBatchCodeTable)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "622b454a", - "metadata": {}, - "outputs": [], - "source": [ - "covid19ModernaBatchCodeTable = getCovid19BatchCodeTable(vaers, manufacturer = 'MODERNA')\n", - "IOUtils.saveDataFrame(covid19ModernaBatchCodeTable, 'results/flu/covid19Moderna')\n", - "covid19ModernaBatchCodeTable" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0a47dcb4", - "metadata": {}, - "outputs": [], - "source": [ - "covid19JanssenBatchCodeTable = getCovid19BatchCodeTable(vaers, manufacturer = 'JANSSEN')\n", - "IOUtils.saveDataFrame(covid19JanssenBatchCodeTable, 'results/flu/covid19Janssen')\n", - "covid19JanssenBatchCodeTable" - ] + "source": [] } ], "metadata": {