Exemplo n.º 1
0
def test_transformer():
    assert isinstance(t1, Transformer)
    df = ArrayDataFrame([[0]], "a:int")
    t1._output_schema = t1.get_output_schema(df)
    assert t1.output_schema == "a:int,b:int"
    t2._output_schema = t2.get_output_schema(df)
    assert t2.output_schema == "b:int,a:int"
    assert [[0, 1]] == list(t3(df.as_array_iterable()))
Exemplo n.º 2
0
def test_as_array():
    df = ArrayDataFrame([], "a:str,b:int")
    assert [] == df.as_array()
    assert [] == df.as_array(type_safe=True)
    assert [] == list(df.as_array_iterable())
    assert [] == list(df.as_array_iterable(type_safe=True))

    df = ArrayDataFrame([["a", 1]], "a:str,b:int")
    assert [["a", 1]] == df.as_array()
    df = ArrayDataFrame([["a", 1]], "a:str,b:int")
    assert [["a", 1]] == df.as_array(["a", "b"])
    df = ArrayDataFrame([["a", 1]], "a:str,b:int")
    assert [[1, "a"]] == df.as_array(["b", "a"])

    df = ArrayDataFrame([[1.0, 1.1]], "a:double,b:int")
    d = df.as_array(type_safe=False)
    assert [[1.0, 1]] != d

    df = ArrayDataFrame([[1.0, 1.1]], "a:double,b:int")
    d = df.as_array(type_safe=True)
    assert [[1.0, 1]] == d
    assert isinstance(d[0][0], float)
    assert isinstance(d[0][1], int)
    df = ArrayDataFrame([[1.0, 1.1]], "a:double,b:int")
    assert [[1.0, 1]] == df.as_array(["a", "b"], type_safe=True)
    df = ArrayDataFrame([[1.0, 1.1]], "a:double,b:int")
    assert [[1, 1.0]] == df.as_array(["b", "a"], type_safe=True)

    df = ArrayDataFrame([[np.float64(1.0), 1.1]], "a:double,b:int")
    d = df.as_array(type_safe=True)
    assert [[1.0, 1]] == d
    assert isinstance(d[0][0], float)
    assert isinstance(d[0][1], int)

    df = ArrayDataFrame([[pd.Timestamp("2020-01-01"), 1.1]],
                        "a:datetime,b:int")
    assert [[datetime(2020, 1, 1), 1]] == df.as_array(type_safe=True)

    df = ArrayDataFrame([["2020-01-01", 1.1]], "a:datetime,b:int")
    assert [[datetime(2020, 1, 1), 1]] == df.as_array(type_safe=True)

    df = ArrayDataFrame([[pd.NaT, 1.1]], "a:datetime,b:int")
    assert [[None, 1]] == df.as_array(type_safe=True)