Skip to content

Commit acd0570

Browse files
fix prop signal naming and test
1 parent 60b155b commit acd0570

File tree

3 files changed

+39
-21
lines changed

3 files changed

+39
-21
lines changed

hhs_hosp/delphi_hhs/constants.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33

44
CONFIRMED = "confirmed_admissions_covid_1d"
55
SUM_CONF_SUSP = "sum_confirmed_suspected_admissions_covid_1d"
6-
POP_PROP="population_proportionate_variants"
6+
CONFIRMED_PROP = "confirmed_admissions_covid_1d_prop"
7+
SUM_CONF_SUSP_PROP = "sum_confirmed_suspected_admissions_covid_1d_prop"
78

89
SIGNALS = [
910
CONFIRMED,
1011
SUM_CONF_SUSP,
11-
POP_PROP
12+
CONFIRMED_PROP,
13+
SUM_CONF_SUSP_PROP
1214
]
1315

1416
GEOS = [

hhs_hosp/delphi_hhs/run.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
import numpy as np
1616
import pandas as pd
1717

18-
from .constants import SIGNALS, GEOS, SMOOTHERS, CONFIRMED, SUM_CONF_SUSP,POP_PROP
19-
18+
from .constants import SIGNALS, GEOS, SMOOTHERS, CONFIRMED, SUM_CONF_SUSP
2019

2120
def _date_to_int(d):
2221
"""Return a date object as a yyyymmdd int."""
@@ -103,7 +102,7 @@ def run_module(params):
103102
"state_id",
104103
"state_code",
105104
from_col="state")
106-
if sensor==POP_PROP:
105+
if sensor.endswith("_PROP"):
107106
df=pop_proportion(df,geo_mapper)
108107
df = make_geo(df, geo, geo_mapper)
109108
df = smooth_values(df, smoother[0])
@@ -143,7 +142,7 @@ def smooth_values(df, smoother):
143142
def pop_proportion(df,geo_mapper):
144143
"""Get the population-proportionate variants as the dataframe val."""
145144
pop_val=geo_mapper.add_population_column(df, "state_code")
146-
df["val"]=df["val"]/pop_val["population"]*100000
145+
df["val"]=round(df["val"]/pop_val["population"]*100000,2)
147146
pop_val.drop("population", axis=1, inplace=True)
148147
return df
149148

@@ -165,25 +164,15 @@ def make_signal(all_columns, sig):
165164
"""Generate column sums according to signal name."""
166165
assert sig in SIGNALS, f"Unexpected signal name '{sig}';" + \
167166
" familiar names are '{', '.join(SIGNALS)}'"
168-
if sig == CONFIRMED:
167+
if sig.startswith(CONFIRMED):
169168
df = pd.DataFrame({
170169
"state": all_columns.state.apply(str.lower),
171170
"timestamp":int_date_to_previous_day_datetime(all_columns.date),
172171
"val": \
173172
all_columns.previous_day_admission_adult_covid_confirmed + \
174173
all_columns.previous_day_admission_pediatric_covid_confirmed
175174
})
176-
elif sig == SUM_CONF_SUSP:
177-
df = pd.DataFrame({
178-
"state": all_columns.state.apply(str.lower),
179-
"timestamp":int_date_to_previous_day_datetime(all_columns.date),
180-
"val": \
181-
all_columns.previous_day_admission_adult_covid_confirmed + \
182-
all_columns.previous_day_admission_adult_covid_suspected + \
183-
all_columns.previous_day_admission_pediatric_covid_confirmed + \
184-
all_columns.previous_day_admission_pediatric_covid_suspected,
185-
})
186-
elif sig == POP_PROP:
175+
elif sig.startswith(SUM_CONF_SUSP):
187176
df = pd.DataFrame({
188177
"state": all_columns.state.apply(str.lower),
189178
"timestamp":int_date_to_previous_day_datetime(all_columns.date),

hhs_hosp/tests/test_run.py

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from delphi_hhs.run import _date_to_int, int_date_to_previous_day_datetime, generate_date_ranges, \
88
make_signal, make_geo, run_module, pop_proportion
9-
from delphi_hhs.constants import CONFIRMED, SUM_CONF_SUSP, POP_PROP, SMOOTHERS, GEOS, SIGNALS
9+
from delphi_hhs.constants import CONFIRMED, SUM_CONF_SUSP, SMOOTHERS, GEOS, SIGNALS,CONFIRMED_PROP, SUM_CONF_SUSP_PROP
1010
from delphi_utils.geomap import GeoMapper
1111
from freezegun import freeze_time
1212
import numpy as np
@@ -54,7 +54,6 @@ def test_make_signal():
5454
data = pd.DataFrame({
5555
'state': ['NA'],
5656
'date': [20200102],
57-
'population':[100.],
5857
'previous_day_admission_adult_covid_confirmed': [1],
5958
'previous_day_admission_adult_covid_suspected': [2],
6059
'previous_day_admission_pediatric_covid_confirmed': [4],
@@ -68,13 +67,27 @@ def test_make_signal():
6867
})
6968
pd.testing.assert_frame_equal(expected_confirmed, make_signal(data, CONFIRMED))
7069

70+
expected_confirmed = pd.DataFrame({
71+
'state': ['na'],
72+
'timestamp': [datetime(year=2020, month=1, day=1)],
73+
'val': [5.],
74+
})
75+
pd.testing.assert_frame_equal(expected_confirmed, make_signal(data, CONFIRMED_PROP))
76+
7177
expected_sum = pd.DataFrame({
7278
'state': ['na'],
7379
'timestamp': [datetime(year=2020, month=1, day=1)],
7480
'val': [15.],
7581
})
7682
pd.testing.assert_frame_equal(expected_sum, make_signal(data, SUM_CONF_SUSP))
7783

84+
expected_sum = pd.DataFrame({
85+
'state': ['na'],
86+
'timestamp': [datetime(year=2020, month=1, day=1)],
87+
'val': [15.],
88+
})
89+
pd.testing.assert_frame_equal(expected_sum, make_signal(data, SUM_CONF_SUSP_PROP))
90+
7891
with pytest.raises(Exception):
7992
make_signal(data, "zig")
8093

@@ -91,9 +104,23 @@ def test_pop_proportion():
91104
'state': ['PA'],
92105
'state_code':[42],
93106
'timestamp': [datetime(year=2020, month=1, day=1)],
94-
'val': [0.11716929299033142],})
107+
'val': [0.12],})
95108
)
96109

110+
test_df= pd.DataFrame({
111+
'state': ['WV'],
112+
'state_code':[54],
113+
'timestamp': [datetime(year=2020, month=1, day=1)],
114+
'val': [150.],})
115+
116+
pd.testing.assert_frame_equal(
117+
pop_proportion(test_df,geo_mapper),
118+
pd.DataFrame({
119+
'state': ['WV'],
120+
'state_code':[54],
121+
'timestamp': [datetime(year=2020, month=1, day=1)],
122+
'val': [8.37],})
123+
)
97124

98125
def test_make_geo():
99126
"""Check that geographies transform correctly."""

0 commit comments

Comments
 (0)