utility/metrics.py
def rt_rki(smoothed_new_positives: pd.Series) -> pd.Series:
    """
    L'istituto RKI, Robert Koch Institut, calcola  come il rapporto tra la somma del numero di contagiati
    negli ultimi 4 giorni e la somma del numero dei contagiati nei 4 giorni precedenti.
    :param smoothed_new_positives: nuovi positivi giornalieri smoothed
    :return: serie Rt calcolate con formula RKI
    """
    last_8_days = deque(maxlen=8)

    rt_values = dict()

    for index, new_daily_positives_value in smoothed_new_positives.items():
        # print(f"Nuovi positivi smoothed: {new_daily_positives}")
        # Discard NaN at the beginning
        if math.isnan(new_daily_positives_value) is False:
            last_8_days.append(new_daily_positives_value)
        # Then start to calculate Rt e shift deque
        if len(last_8_days) == last_8_days.maxlen:
            rt = np.sum(list(last_8_days)[4:]) / np.sum(list(last_8_days)[:4])
            # Print debug
            # print(f"Sum last 4 days: {np.sum(list(last_8_days)[4:]) }")
            # print(f"Sum last 5-8 days: {np.sum(list(last_8_days)[:4])}")
            # print(f"Rt RKI: {rt}")
            # We want x value of the latest day
            rt_values[index] = rt
        else:
            rt_values[index] = np.nan

    # Return the new series
    return pd.Series(rt_values)

    L'istituto RKI, Robert Koch Institut, calcola  come il rapporto tra la somma del numero di contagiati
    negli ultimi 4 giorni e la somma del numero dei contagiati nei 4 giorni precedenti.
    :param smoothed_new_positives: nuovi positivi giornalieri smoothed
    :return: serie Rt calcolate con formula RKI
    
L'istituto RKI, Robert Koch Institut, calcola  come il rapporto tra la somma del numero di contagiati
negli ultimi 4 giorni e la somma del numero dei contagiati nei 4 giorni precedenti.
L ' istituto RKI Robert Koch Institut calcola come il rapporto tra la somma del numero di contagiati negli ultimi 4 giorni e la somma del numero dei contagiati nei 4 giorni precedenti .
def rt_rki(smoothed_new_positives: pd.Series) -> pd.Series:
    last_8_days = deque(maxlen=8)
    rt_values = dict()
    for index, new_daily_positives_value in smoothed_new_positives.items():
        if math.isnan(new_daily_positives_value) is False:
            last_8_days.append(new_daily_positives_value)
        if len(last_8_days) == last_8_days.maxlen:
            rt = np.sum(list(last_8_days)[4:]) / np.sum(list(last_8_days)[:4])
            rt_values[index] = rt
        else:
            rt_values[index] = np.nan
    return pd.Series(rt_values)
def rt_rki ( smoothed_new_positives : pd . Series ) -> pd . Series : last_8_days = deque ( maxlen = 8 ) rt_values = dict ( ) for index , new_daily_positives_value in smoothed_new_positives . items ( ) : if math . isnan ( new_daily_positives_value ) is False : last_8_days . append ( new_daily_positives_value ) if len ( last_8_days ) == last_8_days . maxlen : rt = np . sum ( list ( last_8_days ) [ 4 : ] ) / np . sum ( list ( last_8_days ) [ : 4 ] ) rt_values [ index ] = rt else : rt_values [ index ] = np . nan return pd . Series ( rt_values )
L'istituto RKI, Robert Koch Institut, calcola  come il rapporto tra la somma del numero di contagiati
negli ultimi 4 giorni e la somma del numero dei contagiati nei 4 giorni precedenti.
L ' istituto RKI Robert Koch Institut calcola come il rapporto tra la somma del numero di contagiati negli ultimi 4 giorni e la somma del numero dei contagiati nei 4 giorni precedenti .
"""
    L'istituto RKI, Robert Koch Institut, calcola  come il rapporto tra la somma del numero di contagiati
    negli ultimi 4 giorni e la somma del numero dei contagiati nei 4 giorni precedenti.
    :param smoothed_new_positives: nuovi positivi giornalieri smoothed
    :return: serie Rt calcolate con formula RKI
    """ # print(f"Nuovi positivi smoothed: {new_daily_positives}") # Discard NaN at the beginning # Then start to calculate Rt e shift deque # Print debug # print(f"Sum last 4 days: {np.sum(list(last_8_days)[4:]) }") # print(f"Sum last 5-8 days: {np.sum(list(last_8_days)[:4])}") # print(f"Rt RKI: {rt}") # We want x value of the latest day # Return the new series
serie Rt calcolate con formula RKI
serie Rt calcolate con formula RKI
smoothed_new_positives
pd.Series
nuovi positivi giornalieri smoothed
nuovi positivi giornalieri smoothed