Пример #1
0
    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}
Пример #2
0
        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