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)
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("")
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("")
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)
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)
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)
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)
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)
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
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)
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)
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)
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
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)
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_
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)
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
def test_dates(): df = arcovid19.load_cases(url=LOCAL_CASES) assert isinstance(df.dates, list)
def test_delegation(): df = arcovid19.load_cases(url=LOCAL_CASES) assert repr(df) == repr(df.df) assert df.transpose == df.df.transpose
def test_last_grate(): df = arcovid19.load_cases(url=LOCAL_CASES) assert isinstance(df.last_growth_rate(), float)
def test_totcases(): df = arcovid19.load_cases(url=LOCAL_CASES) assert isinstance(df.tot_cases, float)
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")
# 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')
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)
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")
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)
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)
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"])
def test_dates(): df = arcovid19.load_cases(cases_url=LOCAL_CASES, areas_pop_url=LOCAL_AREA_POP) assert isinstance(df.dates, list)
def test_totcases(): df = arcovid19.load_cases(cases_url=LOCAL_CASES, areas_pop_url=LOCAL_AREA_POP) assert isinstance(df.tot_cases, float)