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:
|
||||
|
||||
@staticmethod
|
||||
def createDataFrame(index, columns, data, dtypes={}):
|
||||
return pd.DataFrame(index=index, columns=columns, data=data).astype(dtypes)
|
||||
def createDataFrame(columns, data, dtypes={}, **kwargs):
|
||||
return pd.DataFrame(columns=columns, data=data, **kwargs).astype(dtypes)
|
||||
|
||||
@@ -14,6 +14,27 @@
|
||||
"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",
|
||||
"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