Skip to content

Commit ef83610

Browse files
committed
NANs quidel covidtest:
* add missing columns
1 parent 431dd39 commit ef83610

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

quidel_covidtest/delphi_quidel_covidtest/run.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
from delphi_utils import (
1212
add_prefix,
1313
create_export_csv,
14-
get_structured_logger
14+
get_structured_logger,
15+
Nans
1516
)
1617

1718
from .constants import (END_FROM_TODAY_MINUS,
@@ -32,6 +33,22 @@ def log_exit(start_time, logger):
3233
logger.info("Completed indicator run",
3334
elapsed_time_in_seconds=elapsed_time_in_seconds)
3435

36+
def add_nancodes(df):
37+
"""Add nancodes to the dataframe."""
38+
# Default missingness codes
39+
df["missing_val"] = Nans.NOT_MISSING
40+
df["missing_se"] = Nans.NOT_MISSING
41+
df["missing_sample_size"] = Nans.NOT_MISSING
42+
43+
# Mark any remaining nans with unknown
44+
remaining_nans_mask = df["val"].isnull()
45+
df.loc[remaining_nans_mask, "missing_val"] = Nans.UNKNOWN
46+
remaining_nans_mask = df["se"].isnull()
47+
df.loc[remaining_nans_mask, "missing_se"] = Nans.UNKNOWN
48+
remaining_nans_mask = df["sample_size"].isnull()
49+
df.loc[remaining_nans_mask, "missing_sample_size"] = Nans.UNKNOWN
50+
return df
51+
3552
def run_module(params: Dict[str, Any]):
3653
"""Run the quidel_covidtest indicator.
3754
@@ -103,6 +120,7 @@ def run_module(params: Dict[str, Any]):
103120
state_groups, smooth=smoothers[sensor][1],
104121
device=smoothers[sensor][0], first_date=first_date,
105122
last_date=last_date)
123+
state_df = add_nancodes(state_df)
106124
create_export_csv(state_df, geo_res="state", sensor=sensor, export_dir=export_dir,
107125
start_date=export_start_date, end_date=export_end_date)
108126

@@ -115,6 +133,7 @@ def run_module(params: Dict[str, Any]):
115133
state_groups, geo_data, res_key, smooth=smoothers[sensor][1],
116134
device=smoothers[sensor][0], first_date=first_date,
117135
last_date=last_date)
136+
res_df = add_nancodes(res_df)
118137
create_export_csv(res_df, geo_res=geo_res, sensor=sensor, export_dir=export_dir,
119138
start_date=export_start_date, end_date=export_end_date,
120139
remove_null_samples=True)

quidel_covidtest/tests/test_run.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,11 @@ def test_output_files(self, clean_receiving_dir):
6464
df = pd.read_csv(
6565
join("./receiving", "20200718_state_covid_ag_smoothed_pct_positive.csv")
6666
)
67-
assert (df.columns.values == ["geo_id", "val", "se", "sample_size"]).all()
67+
expected_columns = [
68+
"geo_id", "val", "se", "sample_size",
69+
"missing_val", "missing_se", "missing_sample_size"
70+
]
71+
assert (df.columns.values == expected_columns).all()
6872

6973
# test_intermediate_file
7074
flag = None

0 commit comments

Comments
 (0)