def __init__(self) -> None: """ Initiate DataFrames """ self.df = get_data_daily_reports() self.df_time_series = get_data_time_series() self.df_US_time_series = get_US_time_series() self.lookup_table = get_data_lookup_table() concerned_columns = ['Confirmed', 'Deaths', 'Recovered', 'Active'] self.df_grp_by_country = self.df.groupby( 'Country_Region')[concerned_columns].sum() self.df_grp_by_country[concerned_columns] = self.df_grp_by_country[ concerned_columns].astype(int) self.datetime = max(self.df['Last_Update'].tolist()) self.timestamp = datetime.strptime(self.datetime, '%Y-%m-%d %H:%M:%S').timestamp() self.scheme = {'data': None, 'dt': self.datetime, 'ts': self.timestamp}
return data @wrap_data def get_time_series(self, case: str) -> Dict[str, Any]: """ Get time series data from a given case 1.) global 2.) confirmed, deaths, recovered """ self.df_time_series = get_data_time_series() # Get base data if case not in ['global']: raw_data = self.df_time_series[case].T.to_dict() data = self.__extract_time_series(raw_data) else: raw_data = self.df_time_series data = self.__extract_time_series_global(raw_data) return data @wrap_data def get_US_time_series(self, case: str) -> Dict[str, Any]: """ Get USA time series """ if case not in ['confirmed', 'deaths']: data = [] else: self.df_US_time_series = get_US_time_series() # Get base data raw_data = self.df_US_time_series[case].T.to_dict() data = self.__extract_US_time_series(raw_data) return data