Exemple #1
0
def test_48b():
    # tests fix for #48 mapping few->many

    exp = IamDataFrame(
        pd.DataFrame(
            [
                ['model', 'scen', 'SSD', 'var', 'unit', 1, 6],
                ['model', 'scen', 'SDN', 'var', 'unit', 1, 6],
                ['model', 'scen1', 'SSD', 'var', 'unit', 2, 7],
                ['model', 'scen1', 'SDN', 'var', 'unit', 2, 7],
            ],
            columns=[
                'model', 'scenario', 'region', 'variable', 'unit', 2005, 2010
            ],
        )).data.reset_index(drop=True)

    df = IamDataFrame(
        pd.DataFrame(
            [
                ['model', 'scen', 'R5MAF', 'var', 'unit', 1, 6],
                ['model', 'scen1', 'R5MAF', 'var', 'unit', 2, 7],
            ],
            columns=[
                'model', 'scenario', 'region', 'variable', 'unit', 2005, 2010
            ],
        ))
    obs = df.map_regions('iso', region_col='r5_region').data
    obs = obs[obs.region.isin(['SSD', 'SDN'])].reset_index(drop=True)

    pd.testing.assert_frame_equal(obs, exp, check_index_type=False)
Exemple #2
0
def test_48a():
    # tests fix for #48 mapping many->few
    df = IamDataFrame(
        pd.DataFrame(
            [
                ['model', 'scen', 'SSD', 'var', 'unit', 1, 6],
                ['model', 'scen', 'SDN', 'var', 'unit', 2, 7],
                ['model', 'scen1', 'SSD', 'var', 'unit', 2, 7],
                ['model', 'scen1', 'SDN', 'var', 'unit', 2, 7],
            ],
            columns=[
                'model', 'scenario', 'region', 'variable', 'unit', 2005, 2010
            ],
        ))

    exp = _r5_regions_exp(df)
    columns = df.data.columns
    grp = list(columns)
    grp.remove('value')
    exp = exp.groupby(grp).sum().reset_index()
    exp = exp[columns]

    obs = df.map_regions('r5_region', region_col='iso', agg='sum').data

    pd.testing.assert_frame_equal(obs, exp, check_index_type=False)
Exemple #3
0
def test_48c():
    # tests fix for #48 mapping few->many, dropping duplicates

    exp = IamDataFrame(
        pd.DataFrame(
            [
                ['model', 'scen', 'AGO', 'var', 'unit', 1, 6],
                ['model', 'scen1', 'AGO', 'var', 'unit', 2, 7],
            ],
            columns=[
                'model', 'scenario', 'region', 'variable', 'unit', 2005, 2010
            ],
        )).data.reset_index(drop=True)

    df = IamDataFrame(
        pd.DataFrame(
            [
                ['model', 'scen', 'R5MAF', 'var', 'unit', 1, 6],
                ['model', 'scen1', 'R5MAF', 'var', 'unit', 2, 7],
            ],
            columns=[
                'model', 'scenario', 'region', 'variable', 'unit', 2005, 2010
            ],
        ))
    obs = df.map_regions('iso', region_col='r5_region',
                         remove_duplicates=True).data
    pd.testing.assert_frame_equal(obs, exp, check_index_type=False)
Exemple #4
0
def test_48c():
    # tests fix for #48 mapping few->many, dropping duplicates

    exp = IamDataFrame(
        pd.DataFrame(
            [
                ["model", "scen", "AGO", "var", "unit", 1, 6],
                ["model", "scen1", "AGO", "var", "unit", 2, 7],
            ],
            columns=[
                "model", "scenario", "region", "variable", "unit", 2005, 2010
            ],
        )).data.reset_index(drop=True)

    df = IamDataFrame(
        pd.DataFrame(
            [
                ["model", "scen", "R5MAF", "var", "unit", 1, 6],
                ["model", "scen1", "R5MAF", "var", "unit", 2, 7],
            ],
            columns=[
                "model", "scenario", "region", "variable", "unit", 2005, 2010
            ],
        ))
    obs = df.map_regions("iso", region_col="r5_region",
                         remove_duplicates=True).data
    pd.testing.assert_frame_equal(obs, exp, check_index_type=False)
Exemple #5
0
def test_48b():
    # tests fix for #48 mapping few->many

    exp = IamDataFrame(
        pd.DataFrame(
            [
                ["model", "scen", "SSD", "var", "unit", 1, 6],
                ["model", "scen", "SDN", "var", "unit", 1, 6],
                ["model", "scen1", "SSD", "var", "unit", 2, 7],
                ["model", "scen1", "SDN", "var", "unit", 2, 7],
            ],
            columns=[
                "model", "scenario", "region", "variable", "unit", 2005, 2010
            ],
        )).data

    df = IamDataFrame(
        pd.DataFrame(
            [
                ["model", "scen", "R5MAF", "var", "unit", 1, 6],
                ["model", "scen1", "R5MAF", "var", "unit", 2, 7],
            ],
            columns=[
                "model", "scenario", "region", "variable", "unit", 2005, 2010
            ],
        ))
    obs = df.map_regions("iso", region_col="r5_region").data
    obs = sort_data(obs[obs.region.isin(["SSD", "SDN"])], df._LONG_IDX)

    pd.testing.assert_frame_equal(obs, exp, check_index_type=False)
Exemple #6
0
def test_48a():
    # tests fix for #48 mapping many->few
    df = IamDataFrame(
        pd.DataFrame(
            [
                ["model", "scen", "SSD", "var", "unit", 1, 6],
                ["model", "scen", "SDN", "var", "unit", 2, 7],
                ["model", "scen1", "SSD", "var", "unit", 2, 7],
                ["model", "scen1", "SDN", "var", "unit", 2, 7],
            ],
            columns=[
                "model", "scenario", "region", "variable", "unit", 2005, 2010
            ],
        ))

    exp = _r5_regions_exp(df)
    columns = df.data.columns
    grp = list(columns)
    grp.remove("value")
    exp = exp.groupby(grp).sum().reset_index()
    exp = exp[columns]

    obs = df.map_regions("r5_region", region_col="iso", agg="sum").data

    pd.testing.assert_frame_equal(obs, exp, check_index_type=False)
Exemple #7
0
def test_region_map_regions():
    df = IamDataFrame(os.path.join(TEST_DATA_DIR, 'plot_region_data.csv'))
    fig, ax = plt.subplots(
        subplot_kw={'projection': cartopy.crs.PlateCarree()}, figsize=(10, 7))
    (df.map_regions('iso').region_plot(
        ax=ax,
        cbar=False,
    ))
    return fig