17
17
import pandas as pd
18
18
19
19
# first party
20
- from delphi_utils import Weekday
20
+ from delphi_utils import Weekday , Nans
21
21
from .config import Config
22
22
from .geo_maps import GeoMaps
23
23
from .sensor import DoctorVisitsSensor
@@ -43,7 +43,10 @@ def write_to_csv(output_df: pd.DataFrame, geo_level, se, out_name, logger, outpu
43
43
out_name )
44
44
single_date_df = output_df [output_df ["date" ] == d ]
45
45
with open (filename , "w" ) as outfile :
46
- outfile .write ("geo_id,val,se,direction,sample_size\n " )
46
+ outfile .write (
47
+ "geo_id,val,se,direction,sample_size,"
48
+ "missing_val,missing_se,missing_sample_size\n "
49
+ )
47
50
48
51
for line in single_date_df .itertuples ():
49
52
geo_id = line .geo_id
@@ -57,11 +60,26 @@ def write_to_csv(output_df: pd.DataFrame, geo_level, se, out_name, logger, outpu
57
60
if se :
58
61
assert sensor > 0 and se_val > 0 , "p=0, std_err=0 invalid"
59
62
outfile .write (
60
- "%s,%f,%s,%s,%s\n " % (geo_id , sensor , se_val , "NA" , "NA" ))
63
+ "%s,%f,%s,%s,%s,%d,%d,%d\n " %
64
+ (
65
+ geo_id , sensor , se , "NA" , "NA" ,
66
+ Nans .NOT_MISSING .value ,
67
+ Nans .NOT_MISSING .value ,
68
+ Nans .NOT_APPLICABLE .value
69
+ )
70
+ )
61
71
else :
62
72
# for privacy reasons we will not report the standard error
63
73
outfile .write (
64
- "%s,%f,%s,%s,%s\n " % (geo_id , sensor , "NA" , "NA" , "NA" ))
74
+ "%s,%f,%s,%s,%s,%d,%d,%d\n " %
75
+ (
76
+ geo_id , sensor , "NA" , "NA" , "NA" ,
77
+ Nans .NOT_MISSING .value ,
78
+ Nans .CENSORED .value ,
79
+ Nans .NOT_APPLICABLE .value
80
+ )
81
+ )
82
+
65
83
out_n += 1
66
84
logger .debug (f"wrote { out_n } rows for { geo_level } " )
67
85
0 commit comments