예제 #1
0
def test_add_metadata_as_int(meta_df):
    meta_df.metadata(3.2, 'meta_int')

    idx = pd.MultiIndex(levels=[['a_model'], ['a_scenario', 'a_scenario2']],
                        labels=[[0, 0], [0, 1]],
                        names=['model', 'scenario'])

    exp = pd.Series(data=[3.2, 3.2], index=idx)
    exp.name = 'meta_int'

    obs = meta_df['meta_int']
    pd.testing.assert_series_equal(obs, exp)
예제 #2
0
def test_add_metadata_as_series(meta_df):
    s = pd.Series([0.3, 0.4])
    meta_df.metadata(s, 'meta_series')

    idx = pd.MultiIndex(levels=[['a_model'], ['a_scenario', 'a_scenario2']],
                        labels=[[0, 0], [0, 1]],
                        names=['model', 'scenario'])

    exp = pd.Series(data=[0.3, 0.4], index=idx)
    exp.name = 'meta_series'

    obs = meta_df['meta_series']
    pd.testing.assert_series_equal(obs, exp)
예제 #3
0
def test_add_metadata_as_named_series(meta_df):
    idx = pd.MultiIndex(levels=[['a_scenario'], ['a_model'], ['a_region']],
                        labels=[[0], [0], [0]],
                        names=['scenario', 'model', 'region'])

    s = pd.Series(data=[0.3], index=idx)
    s.name = 'meta_values'
    meta_df.metadata(s)

    idx = pd.MultiIndex(levels=[['a_model'], ['a_scenario', 'a_scenario2']],
                        labels=[[0, 0], [0, 1]],
                        names=['model', 'scenario'])
    exp = pd.Series(data=[0.3, np.nan], index=idx)
    exp.name = 'meta_values'

    obs = meta_df['meta_values']
    pd.testing.assert_series_equal(obs, exp)
예제 #4
0
def test_filter_by_metadata_int(meta_df):
    meta_df.metadata([1, 2], name='value')
    obs = meta_df.filter(value=[1, 3])
    assert obs['scenario'].unique() == 'a_scenario'
예제 #5
0
def test_filter_by_metadata_bool(meta_df):
    meta_df.metadata([True, False], name='exclude')
    obs = meta_df.filter(exclude=True)
    assert obs['scenario'].unique() == 'a_scenario'
예제 #6
0
def test_filter_by_metadata_str(meta_df):
    meta_df.metadata(['testing', 'testing2'], name='category')
    obs = meta_df.filter(category='testing')
    assert obs['scenario'].unique() == 'a_scenario'