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()))
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)