1+ import random
2+
3+ import pandas as pd
4+ import pandera .pandas as pa
5+ from faker import Faker
6+
7+ fake = Faker ()
8+ df_len = 1000
9+
10+ extract_schema = pa .DataFrameSchema (
11+ {
12+ "week_end_date" : pa .Column (str ),
13+ "jurisdiction" : pa .Column (str ),
14+ "weekly_actual_days_reporting_any_data" : pa .Column (float , nullable = True , coerce = True ),
15+ "weekly_percent_days_reporting_any_data" : pa .Column (float , nullable = True , coerce = True ),
16+ "num_hospitals_previous_day_admission_adult_covid_confirmed" : pa .Column ('int' , nullable = True ),
17+ "num_hospitals_previous_day_admission_pediatric_covid_confirmed" : pa .Column ('int' , nullable = True ),
18+ "num_hospitals_previous_day_admission_influenza_confirmed" : pa .Column ('int' , nullable = True ),
19+ "num_hospitals_total_patients_hospitalized_confirmed_influenza" : pa .Column ('int' , nullable = True ),
20+ "num_hospitals_icu_patients_confirmed_influenza" : pa .Column ('int' , nullable = True ),
21+ "num_hospitals_inpatient_beds" : pa .Column ('int' , nullable = True ),
22+ "num_hospitals_total_icu_beds" : pa .Column ('int' , nullable = True ),
23+ "num_hospitals_inpatient_beds_used" : pa .Column ('int' , nullable = True ),
24+ "num_hospitals_icu_beds_used" : pa .Column ('int' , nullable = True ),
25+ "num_hospitals_percent_inpatient_beds_occupied" : pa .Column ('int' , nullable = True ),
26+ "num_hospitals_percent_staff_icu_beds_occupied" : pa .Column ('int' , nullable = True ),
27+ "num_hospitals_percent_inpatient_beds_covid" : pa .Column ('int' , nullable = True ),
28+ "num_hospitals_percent_inpatient_beds_influenza" : pa .Column ('int' , nullable = True ),
29+ "num_hospitals_percent_staff_icu_beds_covid" : pa .Column ('int' , nullable = True ),
30+ "num_hospitals_percent_icu_beds_influenza" : pa .Column ('int' , nullable = True ),
31+ "num_hospitals_admissions_all_covid_confirmed" : pa .Column ('int' , nullable = True ),
32+ "num_hospitals_total_patients_hospitalized_covid_confirmed" : pa .Column ('int' , nullable = True ),
33+ "num_hospitals_staff_icu_patients_covid_confirmed" : pa .Column ('int' , nullable = True ),
34+ "avg_admissions_adult_covid_confirmed" : pa .Column ('float' , nullable = True ),
35+ "total_admissions_adult_covid_confirmed" : pa .Column ('float' , nullable = True ),
36+ "avg_admissions_pediatric_covid_confirmed" : pa .Column ('float' , nullable = True ),
37+ "total_admissions_pediatric_covid_confirmed" : pa .Column ('float' , nullable = True ),
38+ "avg_admissions_all_covid_confirmed" : pa .Column ('float' , nullable = True ),
39+ "total_admissions_all_covid_confirmed" : pa .Column ('float' , nullable = True ),
40+ "avg_admissions_all_influenza_confirmed" : pa .Column ('float' , nullable = True ),
41+ "total_admissions_all_influenza_confirmed" : pa .Column ('float' , nullable = True ),
42+ "avg_total_patients_hospitalized_covid_confirmed" : pa .Column ('float' , nullable = True ),
43+ "avg_total_patients_hospitalized_influenza_confirmed" : pa .Column ('float' , nullable = True ),
44+ "avg_staff_icu_patients_covid_confirmed" : pa .Column ('float' , nullable = True ),
45+ "avg_icu_patients_influenza_confirmed" : pa .Column ('float' , nullable = True ),
46+ "avg_inpatient_beds" : pa .Column ('float' , nullable = True ),
47+ "avg_total_icu_beds" : pa .Column ('float' , nullable = True ),
48+ "avg_inpatient_beds_used" : pa .Column ('float' , nullable = True ),
49+ "avg_icu_beds_used" : pa .Column ('float' , nullable = True ),
50+ "avg_percent_inpatient_beds_occupied" : pa .Column ('float' , nullable = True ),
51+ "avg_percent_staff_icu_beds_occupied" : pa .Column ('float' , nullable = True ),
52+ "avg_percent_inpatient_beds_covid" : pa .Column ('float' , nullable = True ),
53+ "avg_percent_inpatient_beds_influenza" : pa .Column ('float' , nullable = True ),
54+ "avg_percent_staff_icu_beds_covid" : pa .Column ('float' , nullable = True ),
55+ "avg_percent_icu_beds_influenza" : pa .Column ('float' , nullable = True ),
56+ "percent_adult_covid_admissions" : pa .Column ('float' , nullable = True ),
57+ "percent_pediatric_covid_admissions" : pa .Column ('float' , nullable = True ),
58+ "percent_hospitals_previous_day_admission_adult_covid_confirmed" : pa .Column ('float' , nullable = True ),
59+ "percent_hospitals_previous_day_admission_pediatric_covid_confirmed" : pa .Column ('float' , nullable = True ),
60+ "percent_hospitals_previous_day_admission_influenza_confirmed" : pa .Column ('float' , nullable = True ),
61+ "percent_hospitals_total_patients_hospitalized_confirmed_influenza" : pa .Column ('float' , nullable = True ),
62+ "percent_hospitals_icu_patients_confirmed_influenza" : pa .Column ('float' , nullable = True ),
63+ "percent_hospitals_inpatient_beds" : pa .Column ('float' , nullable = True ),
64+ "percent_hospitals_total_icu_beds" : pa .Column ('float' , nullable = True ),
65+ "percent_hospitals_inpatient_beds_used" : pa .Column ('float' , nullable = True ),
66+ "percent_hospitals_icu_beds_used" : pa .Column ('float' , nullable = True ),
67+ "percent_hospitals_percent_inpatient_beds_occupied" : pa .Column ('float' , nullable = True ),
68+ "percent_hospitals_percent_staff_icu_beds_occupied" : pa .Column ('float' , nullable = True ),
69+ "percent_hospitals_percent_inpatient_beds_covid" : pa .Column ('float' , nullable = True ),
70+ "percent_hospitals_percent_inpatient_beds_influenza" : pa .Column ('float' , nullable = True ),
71+ "percent_hospitals_percent_staff_icu_beds_covid" : pa .Column ('float' , nullable = True ),
72+ "percent_hospitals_percent_icu_beds_influenza" : pa .Column ('float' , nullable = True ),
73+ "percent_hospitals_admissions_all_covid_confirmed" : pa .Column ('float' , nullable = True ),
74+ "percent_hospitals_total_patients_hospitalized_covid_confirmed" : pa .Column ('float' , nullable = True ),
75+ "percent_hospitals_staff_icu_patients_covid_confirmed" : pa .Column ('float' , nullable = True ),
76+ "abs_chg_percent_hospitals_previous_day_admission_adult_covid_confirmed" : pa .Column ('float' , nullable = True ),
77+ "abs_chg_percent_hospitals_previous_day_admission_pediatric_covid_confirmed" : pa .Column ('float' , nullable = True ),
78+ "abs_chg_percent_hospitals_previous_day_admission_influenza_confirmed" : pa .Column ('float' , nullable = True ),
79+ "abs_chg_percent_hospitals_total_patients_hospitalized_confirmed_influenza" : pa .Column ('float' , nullable = True ),
80+ "abs_chg_percent_hospitals_icu_patients_confirmed_influenza" : pa .Column ('float' , nullable = True ),
81+ "abs_chg_percent_hospitals_inpatient_beds" : pa .Column ('float' , nullable = True ),
82+ "abs_chg_percent_hospitals_total_icu_beds" : pa .Column ('float' , nullable = True ),
83+ "abs_chg_percent_hospitals_inpatient_beds_used" : pa .Column ('float' , nullable = True ),
84+ "abs_chg_percent_hospitals_icu_beds_used" : pa .Column ('float' , nullable = True ),
85+ "abs_chg_percent_hospitals_percent_inpatient_beds_occupied" : pa .Column ('float' , nullable = True ),
86+ "abs_chg_percent_hospitals_percent_staff_icu_beds_occupied" : pa .Column ('float' , nullable = True ),
87+ "abs_chg_percent_hospitals_percent_inpatient_beds_covid" : pa .Column ('float' , nullable = True ),
88+ "abs_chg_percent_hospitals_percent_inpatient_beds_influenza" : pa .Column ('float' , nullable = True ),
89+ "abs_chg_percent_hospitals_percent_staff_icu_beds_covid" : pa .Column ('float' , nullable = True ),
90+ "abs_chg_percent_hospitals_percent_icu_beds_influenza" : pa .Column ('float' , nullable = True ),
91+ "abs_chg_percent_hospitals_admissions_all_covid_confirmed" : pa .Column ('float' , nullable = True ),
92+ "abs_chg_percent_hospitals_total_patients_hospitalized_covid_confirmed" : pa .Column ('float' , nullable = True ),
93+ "abs_chg_percent_hospitals_staff_icu_patients_covid_confirmed" : pa .Column ('float' , nullable = True )
94+ }
95+ )
96+
97+ load_schema = pa .DataFrameSchema ({
98+ "date" : pa .Column (str , coerce = True ),
99+ "state" : pa .Column (str , coerce = True ),
100+ "total" : pa .Column (str , coerce = True , nullable = True ),
101+ "stname" : pa .Column (str , coerce = True ),
102+ })
103+
104+
105+ raw_synth_data = pd .DataFrame ({})
106+
107+ stname_tf = {
108+ "CA" : "california" ,
109+ "TX" : "texas" ,
110+ "NY" : "new_york" ,
111+ "FL" : "florida" ,
112+ "IL" : "illinois"
113+ }
114+ tf_synth_data = pd .DataFrame ({
115+ "date" : [fake .date_this_year () for _ in range (df_len )],
116+ "state" : [random .choice (["CA" , "TX" , "NY" , "FL" , "IL" ]) for _ in range (df_len )],
117+ "total" : [random .randint (0 , 1000 ) for _ in range (df_len )],
118+ "stname" : [fake .state () for _ in range (df_len )],
119+ })
120+ tf_synth_data ["stname" ] = tf_synth_data ["state" ].map (stname_tf )
0 commit comments