adding VaccineDistributionByZipcodeSimplifier
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -4,5 +4,5 @@ import pandas as pd
|
|||||||
class TestHelper:
|
class TestHelper:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def createDataFrame(index, columns, data, dtypes={}):
|
def createDataFrame(columns, data, dtypes={}, **kwargs):
|
||||||
return pd.DataFrame(index=index, columns=columns, data=data).astype(dtypes)
|
return pd.DataFrame(columns=columns, data=data, **kwargs).astype(dtypes)
|
||||||
|
|||||||
@@ -14,6 +14,27 @@
|
|||||||
"vaccineDistributionByZipcode"
|
"vaccineDistributionByZipcode"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"from VaccineDistributionByZipcodeSimplifier import VaccineDistributionByZipcodeSimplifier\n",
|
||||||
|
"\n",
|
||||||
|
"vaccineDistributionByZipcode = VaccineDistributionByZipcodeSimplifier.sumDoses(vaccineDistributionByZipcode)\n",
|
||||||
|
"vaccineDistributionByZipcode"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"vaccineDistributionByZipcode.to_excel('tmp/Amended-22-01962-Pfizer-2022-0426-pulled-2022-0823_sumDoses.xlsx')"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": null,
|
||||||
|
|||||||
10
src/VaccineDistributionByZipcodeSimplifier.py
Normal file
10
src/VaccineDistributionByZipcodeSimplifier.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
class VaccineDistributionByZipcodeSimplifier:
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def sumDoses(vaccineDistributionByZipcode):
|
||||||
|
return (vaccineDistributionByZipcode
|
||||||
|
.groupby(['PROVIDER_NAME', 'ZIPCODE_SHP', 'LOT_NUMBER'])
|
||||||
|
.agg(DOSES_SHIPPED = pd.NamedAgg(column = 'DOSES_SHIPPED', aggfunc = 'sum'))
|
||||||
|
.reset_index())
|
||||||
28
src/VaccineDistributionByZipcodeSimplifierTest.py
Normal file
28
src/VaccineDistributionByZipcodeSimplifierTest.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
import unittest
|
||||||
|
from VaccineDistributionByZipcodeSimplifier import VaccineDistributionByZipcodeSimplifier
|
||||||
|
from TestHelper import TestHelper
|
||||||
|
from pandas.testing import assert_frame_equal
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
class VaccineDistributionByZipcodeSimplifierTest(unittest.TestCase):
|
||||||
|
|
||||||
|
def test_sumDoses(self):
|
||||||
|
# Given
|
||||||
|
vaccineDistributionByZipcode = TestHelper.createDataFrame(
|
||||||
|
columns = ['PROVIDER_NAME', 'ZIPCODE_SHP', 'LOT_NUMBER', 'DOSES_SHIPPED'],
|
||||||
|
data = [ ['@PHARMACY.COM', '97206-2314', 'FK9893', 300.0],
|
||||||
|
['@PHARMACY.COM - 82ND AVE', '97266-4885', 'FK9893', 300.0],
|
||||||
|
['@PHARMACY.COM - 82ND AVE', '97266-4885', 'FK9893', 400.0],
|
||||||
|
['@PHARMACY.COM - 82ND AVE', '97266-4885', 'FL8095', 200.0]])
|
||||||
|
|
||||||
|
# When
|
||||||
|
vaccineDistributionByZipcodeSimplified = VaccineDistributionByZipcodeSimplifier.sumDoses(vaccineDistributionByZipcode)
|
||||||
|
|
||||||
|
# Then
|
||||||
|
assert_frame_equal(
|
||||||
|
vaccineDistributionByZipcodeSimplified,
|
||||||
|
TestHelper.createDataFrame(
|
||||||
|
columns = ['PROVIDER_NAME', 'ZIPCODE_SHP', 'LOT_NUMBER', 'DOSES_SHIPPED'],
|
||||||
|
data = [ ['@PHARMACY.COM', '97206-2314', 'FK9893', 300.0],
|
||||||
|
['@PHARMACY.COM - 82ND AVE', '97266-4885', 'FK9893', 700.0],
|
||||||
|
['@PHARMACY.COM - 82ND AVE', '97266-4885', 'FL8095', 200.0]]))
|
||||||
Reference in New Issue
Block a user