コード例 #1
0
def test_load_cases_remote():
    local = arcovid19.load_cases(url=LOCAL_CASES)
    local = local[local.dates]
    local[local.isnull()] = 143

    remote = arcovid19.load_cases()
    remote = remote[remote.dates]
    remote[remote.isnull()] = 143

    assert np.all(local == remote)
コード例 #2
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_plot_time_serie_all_equivalent_calls(fig_test, fig_ref):
    cases = arcovid19.load_cases(cases_url=LOCAL_CASES,
                                 areas_pop_url=LOCAL_AREA_POP)

    # fig test
    fig_test.set_size_inches(12, 12)
    test_ax = fig_test.subplots()
    cases.plot.time_serie_all(ax=test_ax)
    test_ax.set_title("")

    # expected
    fig_ref.set_size_inches(12, 12)
    exp_ax = fig_ref.subplots()

    cases.plot.time_serie(deceased=False,
                          active=False,
                          recovered=False,
                          ax=exp_ax)
    for prov in sorted(arcovid19.cases.CODE_TO_POVINCIA):
        cases.plot.time_serie(prov,
                              deceased=False,
                              active=False,
                              recovered=False,
                              ax=exp_ax)

    exp_ax.set_title("")
コード例 #3
0
def test_plot_grate_full_period_all_equivalent_calls(fig_test, fig_ref):
    cases = arcovid19.load_cases(url=LOCAL_CASES)

    # fig test
    fig_test.set_size_inches(12, 12)
    test_ax = fig_test.subplots()
    cases.plot.grate_full_period_all(ax=test_ax)
    test_ax.set_title("")

    # expected
    fig_ref.set_size_inches(12, 12)
    exp_ax = fig_ref.subplots()

    cases.plot.grate_full_period(deceased=False,
                                 active=False,
                                 recovered=False,
                                 ax=exp_ax)
    for prov in sorted(arcovid19.CODE_TO_POVINCIA):
        cases.plot.grate_full_period(prov,
                                     deceased=False,
                                     active=False,
                                     recovered=False,
                                     ax=exp_ax)

    exp_ax.set_title("")
コード例 #4
0
def test_full_grate_provincias():
    df = arcovid19.load_cases(url=LOCAL_CASES)
    for name, code in arcovid19.PROVINCIAS.items():
        wname = df.grate_full_period(provincia=name)
        wcode = df.grate_full_period(provincia=code)
        assert isinstance(wname, pd.Series)
        assert isinstance(wcode, pd.Series)
コード例 #5
0
def test_restore_time_serie():
    df = arcovid19.load_cases(url=LOCAL_CASES)
    tsdf = df.restore_time_serie()
    for prov in arcovid19.PROVINCIAS.values():
        for code in arcovid19.STATUS.values():
            orig_row = df.loc[(prov, code)][df.dates].values
            ts = tsdf.loc[(prov, code)][df.dates].values
            assert np.all(ts.cumsum() == orig_row)
コード例 #6
0
def test_plot_boxplot(fig_test, fig_ref):
    df = arcovid19.load_cases(url=LOCAL_CASES)

    # fig test
    test_ax = fig_test.subplots()
    test_ax = df.plot("boxplot", ax=test_ax)

    # expected
    exp_ax = fig_ref.subplots()
    df.plot.boxplot(ax=exp_ax)
コード例 #7
0
def test_plot_time_serie(fig_test, fig_ref):
    df = arcovid19.load_cases(url=LOCAL_CASES)

    # fig test
    test_ax = fig_test.subplots()
    test_ax = df.plot("time_serie", ax=test_ax)

    # expected
    exp_ax = fig_ref.subplots()
    df.plot.time_serie(ax=exp_ax)
コード例 #8
0
def test_plot_grate_full_period(fig_test, fig_ref):
    df = arcovid19.load_cases(url=LOCAL_CASES)

    # fig test
    test_ax = fig_test.subplots()
    test_ax = df.plot("grate_full_period", ax=test_ax)

    # expected
    exp_ax = fig_ref.subplots()
    df.plot.grate_full_period(ax=exp_ax)
コード例 #9
0
def test_grate_provincias():
    df = arcovid19.load_cases(url=LOCAL_CASES)
    for name, code in arcovid19.PROVINCIAS.items():
        wname = df.last_growth_rate(provincia=name)
        wcode = df.last_growth_rate(provincia=code)

        if np.isnan(wname):
            assert np.isnan(wcode)
        else:
            assert wname == wcode
コード例 #10
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_plot_curva_epi_pais(fig_test, fig_ref):
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)

    # fig test
    test_ax = fig_test.subplots()
    test_ax = df.plot("curva_epi_pais", ax=test_ax)

    # expected
    exp_ax = fig_ref.subplots()
    df.plot.curva_epi_pais(ax=exp_ax)
コード例 #11
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_plot_time_serie_all(fig_test, fig_ref):
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)

    # fig test
    test_ax = fig_test.subplots()
    test_ax = df.plot("time_serie_all", ax=test_ax)

    # expected
    exp_ax = fig_ref.subplots()
    df.plot.time_serie_all(ax=exp_ax)
コード例 #12
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_plot_barplot(fig_test, fig_ref):
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)

    # fig test
    test_ax = fig_test.subplots()
    test_ax = df.plot("barplot", ax=test_ax)

    # expected
    exp_ax = fig_ref.subplots()
    df.plot.barplot(ax=exp_ax)
コード例 #13
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_plot_all_dates_ticks(plot_name):
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)

    expected = [d.strftime(LABEL_DATE_FORMAT) for d in df.dates]
    ax = df.plot(plot_name)
    labels = [tlabel.get_text() for tlabel in ax.get_xticklabels()]
    ticks = ax.get_xticks()

    assert len(labels) == len(ticks)
    assert labels == expected
コード例 #14
0
def test_plot_all_dates_ticks(plot_name):
    df = arcovid19.load_cases(url=LOCAL_CASES)

    expected = [str(d.date()) for d in df.dates]

    ax = df.plot(plot_name)
    labels = [l.get_text() for l in ax.get_xticklabels()]
    ticks = ax.get_xticks()

    assert labels == expected
    assert len(labels) == len(ticks)
コード例 #15
0
def get_prc_df_arc19(url=arc19.CASES_URL, cached=True):
    """
    """
    #
    df_tmp = arc19.load_cases(cached=cached)
    df_tmp.reset_index(inplace=True)
    df_tmp.drop(['provincia_status', 'Pcia_status'], axis=1, inplace=True)
    df_tmp.dropna(inplace=True)
    # arc19 nos da los acumulados diarios
    cmra_daily = {
        'C': 'confirmados',
        'R': 'recuperados',
        'D': 'muertes',
        'A': 'activos'
    }
    cmra_cumsum = {
        'C': 'cumsum_confirmados',
        'R': 'cumsum_recuperados',
        'D': 'cumsum_muertes',
        'A': 'cumsum_activos'
    }
    cmra_cumsum_list = list(cmra_cumsum)
    cmra_daily_list = list(cmra_daily)

    df_cat_list = []

    for provincia in list(set(df_tmp.cod_provincia)):
        #provincia='ARG'
        df_tmp_prov = df_tmp[df_tmp.cod_provincia == provincia].T
        status_names = df_tmp_prov.loc['cod_status'].to_dict()
        df_tmp_prov.rename(columns=status_names, inplace=True)
        df_tmp_prov.drop(['cod_provincia', 'cod_status'], inplace=True)
        df_tmp_prov.reset_index(inplace=True)
        df_tmp_prov['provincia'] = provincia
        df_tmp_prov.rename(columns={'index': 'fecha'}, inplace=True)
        df_tmp_prov['fecha'] = pd.to_datetime(
            df_tmp_prov['fecha'].dt.strftime('%Y-%m-%d'))
        d = df_tmp_prov[cmra_cumsum_list].diff()
        d.loc[0] = df_tmp_prov[cmra_cumsum_list].loc[0]
        d.rename(columns=cmra_daily, inplace=True)
        df_prov = pd.concat([df_tmp_prov, d],
                            axis=1).rename(columns=cmra_cumsum)
        df_cat_list.append(df_prov)
    df_ = pd.concat(df_cat_list)
    provDict = arc19.CODE_TO_POVINCIA
    provDict.update({'ARG': 'Argentina_Nacion', 'BA': 'Buenos Aires'})
    #
    df_['provincia'] = df_['provincia'].map(provDict)
    return df_
コード例 #16
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_load_cases_local():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    assert isinstance(df, arcovid19.cases.CasesFrame)
コード例 #17
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_delegation():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)

    assert repr(df) == repr(df.df)
    assert df.transpose == df.df.transpose
コード例 #18
0
def test_dates():
    df = arcovid19.load_cases(url=LOCAL_CASES)
    assert isinstance(df.dates, list)
コード例 #19
0
def test_delegation():
    df = arcovid19.load_cases(url=LOCAL_CASES)

    assert repr(df) == repr(df.df)
    assert df.transpose == df.df.transpose
コード例 #20
0
def test_last_grate():
    df = arcovid19.load_cases(url=LOCAL_CASES)
    assert isinstance(df.last_growth_rate(), float)
コード例 #21
0
def test_totcases():
    df = arcovid19.load_cases(url=LOCAL_CASES)
    assert isinstance(df.tot_cases, float)
コード例 #22
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_invalid_plot_name():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    with pytest.raises(ValueError):
        df.plot("_plot_df")
コード例 #23
0
# In[5]:

#hide_input
# CSV sources
local = True  # if false import from arcovid
if local:
    data_src_ = 'data/casos.xlsx'
    #
    df_ = get_prc_df_local(data_src_)
    df_['provincia'] = df_['provincia'].apply(lambda x: provDict[x]
                                              if x in provDict else x)
else:
    data_src_ = arc19.CASES_URL
    df_ = get_prc_df_arc19(url=data_src_, cached=True)
    arc19.load_cases()
print('Importando desde: {}'.format(data_src_))
df_.head()

# ### Procesamiento
#
# Procesamos los datos y dejamos los mismos en el formato que seran utilizados en el reporte.

# In[6]:

#hide_input
ndays_ = -3

# Get cases
dft_cases = get_frame_unstack(df_, 'confirmados')
dft_deaths = get_frame_unstack(df_, 'muertes')
コード例 #24
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_get_item():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    value = df[df.provincia_status == "CBA_C"]
    expected = df.df[df.provincia_status == "CBA_C"]
    assert np.all(value == expected)
コード例 #25
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_grate_provincia_invalida():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    with pytest.raises(ValueError):
        df.last_growth_rate(provincia="colorado")
コード例 #26
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_full_grate():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    assert isinstance(df.grate_full_period(), pd.Series)
コード例 #27
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_last_grate():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    assert isinstance(df.last_growth_rate(), float)
コード例 #28
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_areapop():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    assert np.all(df.areapop == df.extra["areapop"])
コード例 #29
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_dates():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    assert isinstance(df.dates, list)
コード例 #30
0
ファイル: test_cases.py プロジェクト: ivco19/libs
def test_totcases():
    df = arcovid19.load_cases(cases_url=LOCAL_CASES,
                              areas_pop_url=LOCAL_AREA_POP)
    assert isinstance(df.tot_cases, float)