|
6 | 6 | """ |
7 | 7 | from datetime import datetime, date, time, timedelta |
8 | 8 | from itertools import product |
9 | | -from functools import partial |
10 | 9 | from os.path import join |
11 | 10 |
|
12 | 11 | import numpy as np |
13 | 12 | import pandas as pd |
14 | 13 | from delphi_utils import ( |
15 | | - read_params, |
16 | 14 | create_export_csv, |
| 15 | + read_params, |
| 16 | + GeoMapper, |
17 | 17 | S3ArchiveDiffer, |
18 | | - GeoMapper |
| 18 | + Smoother |
19 | 19 | ) |
20 | 20 |
|
21 | 21 | from .geo import geo_map |
22 | 22 | from .pull import pull_usafacts_data |
23 | | -from .smooth import ( |
24 | | - identity, |
25 | | - kday_moving_average, |
26 | | -) |
27 | | - |
28 | 23 |
|
29 | 24 | # global constants |
30 | | -seven_day_moving_average = partial(kday_moving_average, k=7) |
31 | 25 | METRICS = [ |
32 | 26 | "confirmed", |
33 | 27 | "deaths", |
|
55 | 49 | # "incidence": ("incid_prop", False), |
56 | 50 | # "cumulative_prop": ("cumul_prop", False), |
57 | 51 | # } |
| 52 | + |
58 | 53 | SMOOTHERS_MAP = { |
59 | | - "unsmoothed": (identity, '', False, lambda d: d - timedelta(days=7)), |
60 | | - "seven_day_average": (seven_day_moving_average, '7dav_', True, lambda d: d), |
| 54 | + "unsmoothed": (Smoother("identity"), "", False, lambda d: d - timedelta(days=7)), |
| 55 | + "seven_day_average": (Smoother("moving_average", window_length=7), "7dav_", True, lambda d: d), |
61 | 56 | } |
62 | 57 | GEO_RESOLUTIONS = [ |
63 | 58 | "county", |
@@ -99,7 +94,7 @@ def run_module(): |
99 | 94 | df = dfs[metric] |
100 | 95 | # Aggregate to appropriate geographic resolution |
101 | 96 | df = geo_map(df, geo_res, map_df, sensor) |
102 | | - df["val"] = SMOOTHERS_MAP[smoother][0](df[sensor].values) |
| 97 | + df["val"] = SMOOTHERS_MAP[smoother][0].smooth(df[sensor].values) |
103 | 98 | df["se"] = np.nan |
104 | 99 | df["sample_size"] = np.nan |
105 | 100 | # Drop early entries where data insufficient for smoothing |
|
0 commit comments