@@ -31,30 +31,42 @@ def generate_sensor_for_states(state_groups, smooth, device, first_date, last_da
31
31
32
32
# smoothed test per device
33
33
if device & smooth :
34
- stat , se , sample_size = smoothed_tests_per_device (
34
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = smoothed_tests_per_device (
35
35
devices = state_group ["numUniqueDevices" ].values ,
36
36
tests = state_group ['totalTest' ].values ,
37
+ missing_val = state_group ['missing_val' ].values ,
38
+ missing_se = state_group ['missing_se' ].values ,
39
+ missing_sample_size = state_group ['missing_sample_size' ].values ,
37
40
min_obs = MIN_OBS , max_borrow_obs = MAX_BORROW_OBS ,
38
41
pool_days = POOL_DAYS )
39
42
# raw test per device
40
43
elif device & (not smooth ):
41
- stat , se , sample_size = raw_tests_per_device (
44
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = raw_tests_per_device (
42
45
devices = state_group ["numUniqueDevices" ].values ,
43
46
tests = state_group ['totalTest' ].values ,
47
+ missing_val = state_group ['missing_val' ].values ,
48
+ missing_se = state_group ['missing_se' ].values ,
49
+ missing_sample_size = state_group ['missing_sample_size' ].values ,
44
50
min_obs = MIN_OBS )
45
51
# smoothed pct positive
46
52
elif (not device ) & smooth :
47
- stat , se , sample_size = smoothed_positive_prop (
53
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = smoothed_positive_prop (
48
54
tests = state_group ['totalTest' ].values ,
49
55
positives = state_group ['positiveTest' ].values ,
56
+ missing_val = state_group ['missing_val' ].values ,
57
+ missing_se = state_group ['missing_se' ].values ,
58
+ missing_sample_size = state_group ['missing_sample_size' ].values ,
50
59
min_obs = MIN_OBS , max_borrow_obs = MAX_BORROW_OBS ,
51
60
pool_days = POOL_DAYS )
52
61
stat = stat * 100
53
62
# raw pct positive
54
63
else :
55
- stat , se , sample_size = raw_positive_prop (
64
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = raw_positive_prop (
56
65
tests = state_group ['totalTest' ].values ,
57
66
positives = state_group ['positiveTest' ].values ,
67
+ missing_val = state_group ['missing_val' ].values ,
68
+ missing_se = state_group ['missing_se' ].values ,
69
+ missing_sample_size = state_group ['missing_sample_size' ].values ,
58
70
min_obs = MIN_OBS )
59
71
stat = stat * 100
60
72
@@ -63,7 +75,10 @@ def generate_sensor_for_states(state_groups, smooth, device, first_date, last_da
63
75
"timestamp" : state_group .index ,
64
76
"val" : stat ,
65
77
"se" : se ,
66
- "sample_size" : sample_size }))
78
+ "sample_size" : sample_size ,
79
+ "missing_val" : missing_val ,
80
+ "missing_se" : missing_se ,
81
+ "missing_sample_size" : missing_sample_size }))
67
82
return state_df
68
83
69
84
def generate_sensor_for_other_geores (state_groups , data , res_key , smooth ,
@@ -102,46 +117,64 @@ def generate_sensor_for_other_geores(state_groups, data, res_key, smooth,
102
117
if smooth :
103
118
if has_parent :
104
119
if device :
105
- stat , se , sample_size = smoothed_tests_per_device (
120
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = smoothed_tests_per_device (
106
121
devices = res_group ["numUniqueDevices" ].values ,
107
122
tests = res_group ['totalTest' ].values ,
123
+ missing_val = res_group ['missing_val' ].values ,
124
+ missing_se = res_group ['missing_se' ].values ,
125
+ missing_sample_size = res_group ['missing_sample_size' ].values ,
108
126
min_obs = MIN_OBS , max_borrow_obs = MAX_BORROW_OBS ,
109
127
pool_days = POOL_DAYS ,
110
128
parent_devices = res_group ["numUniqueDevices_parent" ].values ,
111
129
parent_tests = res_group ["totalTest_parent" ].values )
112
130
else :
113
- stat , se , sample_size = smoothed_positive_prop (
131
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = smoothed_positive_prop (
114
132
tests = res_group ['totalTest' ].values ,
115
133
positives = res_group ['positiveTest' ].values ,
134
+ missing_val = res_group ['missing_val' ].values ,
135
+ missing_se = res_group ['missing_se' ].values ,
136
+ missing_sample_size = res_group ['missing_sample_size' ].values ,
116
137
min_obs = MIN_OBS , max_borrow_obs = MAX_BORROW_OBS ,
117
138
pool_days = POOL_DAYS ,
118
139
parent_tests = res_group ["totalTest_parent" ].values ,
119
140
parent_positives = res_group ['positiveTest_parent' ].values )
120
141
stat = stat * 100
121
142
else :
122
143
if device :
123
- stat , se , sample_size = smoothed_tests_per_device (
144
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = smoothed_tests_per_device (
124
145
devices = res_group ["numUniqueDevices" ].values ,
125
146
tests = res_group ['totalTest' ].values ,
147
+ missing_val = res_group ['missing_val' ].values ,
148
+ missing_se = res_group ['missing_se' ].values ,
149
+ missing_sample_size = res_group ['missing_sample_size' ].values ,
126
150
min_obs = MIN_OBS , max_borrow_obs = MAX_BORROW_OBS ,
127
151
pool_days = POOL_DAYS )
128
152
else :
129
- stat , se , sample_size = smoothed_positive_prop (
153
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = smoothed_positive_prop (
130
154
tests = res_group ['totalTest' ].values ,
131
155
positives = res_group ['positiveTest' ].values ,
156
+ missing_val = res_group ['missing_val' ].values ,
157
+ missing_se = res_group ['missing_se' ].values ,
158
+ missing_sample_size = res_group ['missing_sample_size' ].values ,
132
159
min_obs = MIN_OBS , max_borrow_obs = MAX_BORROW_OBS ,
133
160
pool_days = POOL_DAYS )
134
161
stat = stat * 100
135
162
else :
136
163
if device :
137
- stat , se , sample_size = raw_tests_per_device (
164
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = raw_tests_per_device (
138
165
devices = res_group ["numUniqueDevices" ].values ,
139
166
tests = res_group ['totalTest' ].values ,
167
+ missing_val = res_group ['missing_val' ].values ,
168
+ missing_se = res_group ['missing_se' ].values ,
169
+ missing_sample_size = res_group ['missing_sample_size' ].values ,
140
170
min_obs = MIN_OBS )
141
171
else :
142
- stat , se , sample_size = raw_positive_prop (
172
+ stat , se , sample_size , missing_val , missing_se , missing_sample_size = raw_positive_prop (
143
173
tests = res_group ['totalTest' ].values ,
144
174
positives = res_group ['positiveTest' ].values ,
175
+ missing_val = res_group ['missing_val' ].values ,
176
+ missing_se = res_group ['missing_se' ].values ,
177
+ missing_sample_size = res_group ['missing_sample_size' ].values ,
145
178
min_obs = MIN_OBS )
146
179
stat = stat * 100
147
180
@@ -150,5 +183,8 @@ def generate_sensor_for_other_geores(state_groups, data, res_key, smooth,
150
183
"timestamp" : res_group .index ,
151
184
"val" : stat ,
152
185
"se" : se ,
153
- "sample_size" : sample_size }))
186
+ "sample_size" : sample_size ,
187
+ "missing_val" : missing_val ,
188
+ "missing_se" : missing_se ,
189
+ "missing_sample_size" : missing_sample_size }))
154
190
return res_df
0 commit comments