Skip to content

Commit a96d888

Browse files
committed
Merge branch '7dav_new_geo_ids' of https://github.com/cmu-delphi/covidcast-indicators into 7dav_new_geo_ids
2 parents 66b618b + 8e18815 commit a96d888

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

_delphi_utils_python/delphi_utils/validator/dynamic.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,22 +183,25 @@ def check_na_vals(self, geo_sig_df, geo_type, signal_type, report):
183183
Returns:
184184
- None
185185
"""
186-
def replace_first_six(df):
186+
def replace_first_six(df, start_date):
187187
x = df.val.isnull()
188188
# First 6 days have to be null
189189
x.iloc[:6] = False
190-
return df.time_value[x]
190+
df = df[x]
191+
return df.time_value[df.time_value >= start_date]
191192

192193
grouped_df = geo_sig_df.groupby('geo_id')
193-
error_df = grouped_df.apply(replace_first_six)
194+
error_df = grouped_df.apply(replace_first_six,
195+
start_date = self.params.time_window.start_date)
194196

195197
if not error_df.empty:
196198
for index, value in error_df.iteritems():
197199
report.add_raised_error(
198-
ValidationFailure(f"check_val_missing (geo_id {index[0]})",
200+
ValidationFailure("check_val_missing",
199201
geo_type=geo_type,
200202
signal=signal_type,
201-
date=value
203+
date=value,
204+
message=f"geo_id {index[0]}"
202205
)
203206
)
204207

_delphi_utils_python/tests/validator/test_dynamic.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,25 +105,29 @@ def test_0_vs_many(self):
105105

106106
assert len(report.raised_errors) == 1
107107
assert report.raised_errors[0].check_name == "check_rapid_change_num_rows"
108+
108109
class TestCheckNaVals:
109110
params = {
110111
"common": {
111112
"data_source": "",
112-
"span_length": 1,
113+
"span_length": 14,
113114
"end_date": "2020-09-02"
114115
}
115116
}
116117
def test_missing(self):
117118
validator = DynamicValidator(self.params)
118119
report = ValidationReport([])
119-
data = {"val": [np.nan] * 14, "geo_id": [0,1] * 7, "time_value": ["2021-09-01"] * 14 }
120+
data = {"val": [np.nan] * 15, "geo_id": [0,1] * 7 + [2],
121+
"time_value": ["2021-08-30"] * 14 + ["2021-05-01"]}
120122
df = pd.DataFrame(data)
121-
#df.set_index(range(7), inplace=True)
123+
df.time_value = (pd.to_datetime(df.time_value)).dt.date
122124
validator.check_na_vals(df, "geo", "signal", report)
123125

124126
assert len(report.raised_errors) == 2
125-
assert report.raised_errors[0].check_name == "check_val_missing (geo_id 0)"
126-
assert report.raised_errors[1].check_name == "check_val_missing (geo_id 1)"
127+
assert report.raised_errors[0].check_name == "check_val_missing"
128+
assert report.raised_errors[0].message == "geo_id 0"
129+
assert report.raised_errors[1].check_name == "check_val_missing"
130+
assert report.raised_errors[1].message == "geo_id 1"
127131

128132
class TestCheckAvgValDiffs:
129133
params = {

0 commit comments

Comments
 (0)