示例#1
0
    def test_pandas_huge_pack_item(self):

        table = Table("test", ['simulation_id', 'learner_id'])

        for i in range(2):
            table[(i, 2)] = dict(C=5,
                                 A=5,
                                 N=1,
                                 _packed=dict(reward=[2] * 9000))

        time = min(timeit.repeat(lambda: table.to_pandas(), repeat=6,
                                 number=1))

        #best time on my laptop was 0.15
        self.assertLess(time, 1)
示例#2
0
    def test_pandas_with_dict_column(self):
        import pandas as pd  #type: ignore
        import pandas.testing  #type: ignore

        table = Table("test", ['a'])

        table['A'] = dict(b='B', c={'z': 10}, d='d')
        table['B'] = dict(e='E')

        expected_df = pd.DataFrame(
            [dict(a='A', b='B', c={'z': 10}, d='d'),
             dict(a='B', e='E')])

        actual_df = table.to_pandas()

        pandas.testing.assert_frame_equal(expected_df, actual_df)
示例#3
0
    def test_pandas_two_pack_item(self):

        import pandas as pd
        import pandas.testing

        table = Table("test", ['a'])

        table['A'] = dict(c=1, _packed=dict(b=['B', 'b'], d=['D', 'd']))
        table['B'] = dict(e='E')

        expected_df = pd.DataFrame([
            dict(a='A', index=1, c=1, b='B', d='D'),
            dict(a='A', index=2, c=1, b='b', d='d'),
            dict(a='B', index=1, e='E')
        ])

        actual_df = table.to_pandas()

        pandas.testing.assert_frame_equal(expected_df,
                                          actual_df,
                                          check_dtype=False)
示例#4
0
    def test_pandas_with_packed_array_column(self):
        import pandas as pd  #type: ignore
        import pandas.testing  #type: ignore

        table = Table("test", ['a'])

        table['A'] = dict(b=1.,
                          c=[1, 2],
                          d='d',
                          _packed={'z': [[1, 2], [3, 4]]})
        table['B'] = dict(b=2., e='E')

        expected_df = pd.DataFrame([
            dict(a='A', index=1, b=1., c=[1, 2], d='d', z=[1, 2]),
            dict(a='A', index=2, b=1., c=[1, 2], d='d', z=[3, 4]),
            dict(a='B', index=1, b=2., e='E')
        ])

        actual_df = table.to_pandas()

        pandas.testing.assert_frame_equal(expected_df,
                                          actual_df,
                                          check_dtype=False)