Skip to content

Commit d59f07c

Browse files
committed
Simplify code in changehc update_sensor.py
- Remove redundant start/end date check - Simplify logic for handling signals, since only 1 signal is being processed
1 parent 086cf40 commit d59f07c

File tree

1 file changed

+20
-25
lines changed

1 file changed

+20
-25
lines changed

changehc/delphi_changehc/update_sensor.py

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@ def write_to_csv(df, geo_level, write_se, day_shift, out_name, output_path=".",
3737

3838
# shift dates forward for labeling
3939
df["timestamp"] += day_shift
40-
if start_date is None:
41-
start_date = min(df["timestamp"])
42-
if end_date is None:
43-
end_date = max(df["timestamp"])
4440

4541
# suspicious value warnings
4642
suspicious_se_mask = df["se"].gt(5)
@@ -49,7 +45,7 @@ def write_to_csv(df, geo_level, write_se, day_shift, out_name, output_path=".",
4945
if write_se:
5046
logging.info("========= WARNING: WRITING SEs TO {0} =========".format(out_name))
5147
else:
52-
df.loc[:, "se"] = np.nan
48+
df["se"] = np.nan
5349

5450
assert not df["val"].isna().any(), " val contains nan values"
5551
suspicious_val_mask = df["val"].gt(90)
@@ -113,13 +109,13 @@ def __init__(self,
113109

114110
# output file naming
115111
if self.numtype == "covid":
116-
signals = [SMOOTHED_ADJ if self.weekday else SMOOTHED]
112+
signal_name = SMOOTHED_ADJ if self.weekday else SMOOTHED
117113
elif self.numtype == "cli":
118-
signals = [SMOOTHED_ADJ_CLI if self.weekday else SMOOTHED_CLI]
119-
signal_names = add_prefix(
120-
signals,
121-
wip_signal=wip_signal)
122-
self.updated_signal_names = signal_names
114+
signal_name = SMOOTHED_ADJ_CLI if self.weekday else SMOOTHED_CLI
115+
else:
116+
raise ValueError(f'Unsupported numtype received "{numtype}",'
117+
f' must be one of ["covid", "cli"]')
118+
self.signal_name = add_prefix([signal_name], wip_signal=wip_signal)[0]
123119

124120
# initialize members set in shift_dates().
125121
self.burnindate = None
@@ -231,21 +227,20 @@ def update_sensor(self,
231227
# conform to naming expected by create_export_csv()
232228
df = df.reset_index().rename(columns={"date": "timestamp", "rate": "val"})
233229
# df.loc[~df['incl'], ["val", "se"]] = np.nan # update to this line after nancodes get merged in
234-
df = df[df['incl']]
230+
df = df[df["incl"]]
235231

236232
# write out results
233+
dates = write_to_csv(
234+
df,
235+
geo_level=self.geo,
236+
start_date=min(self.sensor_dates),
237+
end_date=max(self.sensor_dates),
238+
write_se=self.se,
239+
day_shift=Config.DAY_SHIFT,
240+
out_name=self.signal_name,
241+
output_path=output_path
242+
)
237243
stats = []
238-
for signal in self.updated_signal_names:
239-
dates = write_to_csv(
240-
df,
241-
geo_level=self.geo,
242-
start_date=min(self.sensor_dates),
243-
end_date=max(self.sensor_dates),
244-
write_se=self.se,
245-
day_shift=Config.DAY_SHIFT,
246-
out_name=signal,
247-
output_path=output_path
248-
)
249-
if len(dates) > 0:
250-
stats.append((max(dates), len(dates)))
244+
if len(dates) > 0:
245+
stats = [(max(dates), len(dates))]
251246
return stats

0 commit comments

Comments
 (0)