Exemplo n.º 1
0
def test_lookup_transform(data: pd.DataFrame, lookup_key: str) -> None:
    lookup = pd.DataFrame({lookup_key: list("ABCD"), "z": [3, 1, 4, 5]})
    transform = {
        "lookup": "c",
        "from": {"data": to_values(lookup), "key": lookup_key, "fields": ["z"]},
    }
    out1 = altair_transform.apply(data, transform)
    out2 = pd.merge(data, lookup, left_on="c", right_on=lookup_key)
    if lookup_key != "c":
        out2 = out2.drop(lookup_key, axis=1)
    assert_frame_equal(out1, out2)
Exemplo n.º 2
0
def test_lookup_transform(data, lookup_key):
    lookup = pd.DataFrame({lookup_key: list('ABCD'), 'z': [3, 1, 4, 5]})
    transform = {
        'lookup': 'c',
        'from': {
            'data': to_values(lookup),
            'key': lookup_key,
            'fields': ['z']
        }
    }
    out1 = apply(data, transform)
    out2 = pd.merge(data, lookup, left_on='c', right_on=lookup_key)
    if lookup_key != 'c':
        out2 = out2.drop(lookup_key, axis=1)
    assert out1.equals(out2)
Exemplo n.º 3
0
def test_lookup_transform_default(
    data: pd.DataFrame, lookup_key: str, default: Optional[str]
) -> None:
    lookup = pd.DataFrame({lookup_key: list("ABC"), "z": [3, 1, 4]})
    transform = {
        "lookup": "c",
        "from": {"data": to_values(lookup), "key": lookup_key, "fields": ["z"]},
    }
    if default is not None:
        transform["default"] = default

    out = altair_transform.apply(data, transform)
    undef = out["c"] == "D"
    if default is None:
        assert out.loc[undef, "z"].isnull().all()
    else:
        assert (out.loc[undef, "z"] == default).all()
Exemplo n.º 4
0
def test_lookup_transform_default(data, lookup_key, default):
    lookup = pd.DataFrame({lookup_key: list('ABC'), 'z': [3, 1, 4]})
    transform = {
        'lookup': 'c',
        'from': {
            'data': to_values(lookup),
            'key': lookup_key,
            'fields': ['z']
        }
    }
    if default is not None:
        transform['default'] = default

    out = apply(data, transform)
    undef = (out['c'] == 'D')
    if default is None:
        assert out.loc[undef, 'z'].isnull().all()
    else:
        assert (out.loc[undef, 'z'] == default).all()
Exemplo n.º 5
0
def lookup_data() -> Dict[str, Any]:
    rand = np.random.RandomState(0)
    df = pd.DataFrame(
        {"y": rand.randint(0, 50, 4), "d": list("ABCD"), "e": list("ACDE")}
    )
    return to_values(df)