def test_dataset_reindex_non_constant(self):
     ds = Dataset(self.rgb)
     reindexed = ds.reindex(['y'], ['R'])
     data = Dataset(ds.columns(['y', 'R']),
                    kdims=['y'],
                    vdims=[ds.vdims[0]])
     self.assertEqual(reindexed, data)
    def setUp(self):
        self.df = pd.DataFrame({
            'a': [1, 1, 3, 3, 2, 2, 0, 0],
            'b': [10, 20, 30, 40, 10, 20, 30, 40],
            'c': ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'],
            'd': [-1, -2, -3, -4, -5, -6, -7, -8]
        })

        self.ds = Dataset(
            self.df,
            kdims=[
                Dimension('a', label="The a Column"),
                Dimension('b', label="The b Column"),
                Dimension('c', label="The c Column"),
                Dimension('d', label="The d Column"),
            ]
        )

        self.ds2 = Dataset(
            self.df.iloc[2:],
            kdims=[
                Dimension('a', label="The a Column"),
                Dimension('b', label="The b Column"),
                Dimension('c', label="The c Column"),
                Dimension('d', label="The d Column"),
            ]
        )
Beispiel #3
0
    def init_data(self):
        self.xs = range(11)
        self.xs_2 = [el**2 for el in self.xs]

        self.y_ints = [i * 2 for i in range(11)]
        self.dataset_hm = Dataset((self.xs, self.y_ints),
                                  kdims=['x'],
                                  vdims=['y'])
        self.dataset_hm_alias = Dataset((self.xs, self.y_ints),
                                        kdims=[('x', 'X')],
                                        vdims=[('y', 'Y')])
        self.grid_xs = [0, 1]
        self.grid_ys = [0.1, 0.2, 0.3]
        self.grid_zs = [[0, 1], [2, 3], [4, 5]]
        self.dataset_grid = Dataset((self.grid_xs, self.grid_ys, self.grid_zs),
                                    kdims=['x', 'y'],
                                    vdims=['z'])
        self.dataset_grid_alias = Dataset(
            (self.grid_xs, self.grid_ys, self.grid_zs),
            kdims=[('x', 'X'), ('y', 'Y')],
            vdims=[('z', 'Z')])
        self.dataset_grid_inv = Dataset(
            (self.grid_xs[::-1], self.grid_ys[::-1], self.grid_zs),
            kdims=['x', 'y'],
            vdims=['z'])
Beispiel #4
0
 def test_dataset_redim_with_alias_dframe(self):
     test_df = pd.DataFrame({'x': range(10), 'y': range(0,20,2)})
     dataset = Dataset(test_df, kdims=[('x', 'X-label')], vdims=['y'])
     redim_df = pd.DataFrame({'X': range(10), 'y': range(0,20,2)})
     dataset_redim = Dataset(redim_df, kdims=['X'], vdims=['y'])
     self.assertEqual(dataset.redim(**{'X-label':'X'}), dataset_redim)
     self.assertEqual(dataset.redim(**{'x':'X'}), dataset_redim)
Beispiel #5
0
 def test_dataset_sort_vdim_hm(self):
     xs_2 = np.array(self.xs_2)
     dataset = Dataset(np.column_stack([self.xs, -xs_2]),
                       kdims=['x'], vdims=['y'])
     dataset_sorted = Dataset(np.column_stack([self.xs[::-1], -xs_2[::-1]]),
                              kdims=['x'], vdims=['y'])
     self.assertEqual(dataset.sort('y'), dataset_sorted)
Beispiel #6
0
 def test_dataset_2D_aggregate_partial_hm(self):
     array = np.random.rand(11, 11)
     dataset = Dataset({'x':self.xs, 'y':self.y_ints, 'z': array},
                       kdims=['x', 'y'], vdims=['z'])
     self.assertEqual(dataset.aggregate(['x'], np.mean),
                      Dataset({'x':self.xs, 'z': np.mean(array, axis=0)},
                              kdims=['x'], vdims=['z']))
Beispiel #7
0
 def test_collapse_nested(self):
     inner1 = UniformNdMapping({1: Dataset([(1, 2)], ['x', 'y'])}, 'Y')
     inner2 = UniformNdMapping({1: Dataset([(3, 4)], ['x', 'y'])}, 'Y')
     outer = UniformNdMapping({1: inner1, 2: inner2}, 'X')
     collapsed = outer.collapse()
     expected = Dataset([(1, 1, 1, 2), (2, 1, 3, 4)], ['X', 'Y', 'x', 'y'])
     self.assertEqual(collapsed, expected)
Beispiel #8
0
 def test_dataset_reindex_non_constant(self):
     with DatatypeContext([self.datatype, 'dictionary' , 'dataframe', 'grid'], self.rgb):
         ds = Dataset(self.rgb)
         reindexed = ds.reindex(['y'], ['R'])
     data = Dataset(ds.columns(['y', 'R']),
                    kdims=['y'], vdims=[ds.vdims[0]])
     self.assertEqual(reindexed, data)
Beispiel #9
0
 def test_dataset_reindex_constant(self):
     with DatatypeContext([self.datatype, 'dictionary', 'dataframe', 'grid'], self.image):
         selected = Dataset(self.image.select(x=0))
         reindexed = selected.reindex(['y'])
     data = Dataset(selected.columns(['y', 'z']),
                    kdims=['y'], vdims=['z'])
     self.assertEqual(reindexed, data)
Beispiel #10
0
 def test_dataset_2D_aggregate_partial_hm_alias(self):
     array = np.random.rand(11, 11)
     dataset = Dataset({'x':self.xs, 'y':self.y_ints, 'z': array},
                       kdims=[('x', 'X'), ('y', 'Y')], vdims=[('z', 'Z')])
     self.assertEqual(dataset.aggregate(['X'], np.mean),
                      Dataset({'x':self.xs, 'z': np.mean(array, axis=0)},
                              kdims=[('x', 'X')], vdims=[('z', 'Z')]))
Beispiel #11
0
 def test_dataset_groupby(self):
     group1 = {'Age':[10,16], 'Weight':[15,18], 'Height':[0.8,0.6]}
     group2 = {'Age':[12], 'Weight':[10], 'Height':[0.8]}
     grouped = HoloMap([('M', Dataset(group1, kdims=['Age'], vdims=self.vdims)),
                        ('F', Dataset(group2, kdims=['Age'], vdims=self.vdims))],
                       kdims=['Gender'])
     self.assertEqual(self.table.groupby(['Gender']), grouped)
Beispiel #12
0
 def test_dataset_groupby_dynamic_alias(self):
     array = np.random.rand(11, 11)
     dataset = Dataset({'x':self.xs, 'y':self.y_ints, 'z': array},
                       kdims=[('x', 'X'), ('y', 'Y')], vdims=[('z', 'Z')])
     grouped = dataset.groupby('X', dynamic=True)
     first = Dataset({'y': self.y_ints, 'z': array[:, 0]},
                     kdims=[('y', 'Y')], vdims=[('z', 'Z')])
     self.assertEqual(grouped[0], first)
Beispiel #13
0
 def test_dataset_sort_vdim_hm_alias(self):
     xs_2 = np.array(self.xs_2)
     dataset = Dataset(np.column_stack([self.xs, -xs_2]),
                       kdims=[('x', 'X-label')], vdims=[('y', 'Y-label')])
     dataset_sorted = Dataset(np.column_stack([self.xs[::-1], -xs_2[::-1]]),
                              kdims=[('x', 'X-label')], vdims=[('y', 'Y-label')])
     self.assertEqual(dataset.sort('y'), dataset_sorted)
     self.assertEqual(dataset.sort('Y-label'), dataset_sorted)
Beispiel #14
0
 def test_dataset_groupby_dynamic(self):
     array = np.random.rand(11, 11)
     dataset = Dataset({'x':self.xs, 'y':self.y_ints, 'z': array},
                       kdims=['x', 'y'], vdims=['z'])
     grouped = dataset.groupby('x', dynamic=True)
     first = Dataset({'y': self.y_ints, 'z': array[:, 0]},
                     kdims=['y'], vdims=['z'])
     self.assertEqual(grouped[0], first)
Beispiel #15
0
 def test_dataset_groupby_dynamic_alias(self):
     array = np.random.rand(11, 11)
     dataset = Dataset({'x':self.xs, 'y':self.y_ints, 'z': array},
                       kdims=[('x', 'X'), ('y', 'Y')], vdims=[('z', 'Z')])
     with DatatypeContext([self.datatype, 'dictionary' , 'dataframe'], dataset):
         grouped = dataset.groupby('X', dynamic=True)
     first = Dataset({'y': self.y_ints, 'z': array[:, 0]},
                     kdims=[('y', 'Y')], vdims=[('z', 'Z')])
     self.assertEqual(grouped[0], first)
Beispiel #16
0
    def init_data(self):
        self.xs = range(11)
        self.xs_2 = [el**2 for el in self.xs]

        self.y_ints = [i*2 for i in range(11)]
        self.dataset_hm = Dataset((self.xs, self.y_ints),
                                  kdims=['x'], vdims=['y'])
        self.dataset_hm_alias = Dataset((self.xs, self.y_ints),
                                        kdims=[('x', 'X')], vdims=[('y', 'Y')])
Beispiel #17
0
 def test_dataset_groupby_alias(self):
     group1 = {'age':[10,16], 'weight':[15,18], 'height':[0.8,0.6]}
     group2 = {'age':[12], 'weight':[10], 'height':[0.8]}
     grouped = HoloMap([('M', Dataset(group1, kdims=[('age', 'Age')],
                                      vdims=self.alias_vdims)),
                        ('F', Dataset(group2, kdims=[('age', 'Age')],
                                      vdims=self.alias_vdims))],
                       kdims=[('gender', 'Gender')])
     self.assertEqual(self.alias_table.groupby('Gender'), grouped)
Beispiel #18
0
    def init_column_data(self):
        import dask.array
        self.xs = range(11)
        self.xs_2 = [el**2 for el in self.xs]

        self.y_ints = [i*2 for i in range(11)]
        dask_y = dask.array.from_array(np.array(self.y_ints), 2)
        self.dataset_hm = Dataset((self.xs, dask_y),
                                  kdims=['x'], vdims=['y'])
        self.dataset_hm_alias = Dataset((self.xs, dask_y),
                                        kdims=[('x', 'X')], vdims=[('y', 'Y')])
    def setUp(self):
        super(NdlocTestCase, self).setUp()
        self.ds_grid = Dataset(
            (np.arange(4), np.arange(3),
             np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])),
            kdims=['x', 'y'],
            vdims='z')

        self.ds2_grid = Dataset(
            (np.arange(3), np.arange(3),
             np.array([[1, 2, 4], [5, 6, 8], [9, 10, 12]])),
            kdims=['x', 'y'],
            vdims='z')
Beispiel #20
0
 def test_dataset_sort_vdim_ht(self):
     dataset = Dataset({
         'x': self.xs,
         'y': -self.ys
     },
                       kdims=['x'],
                       vdims=['y'])
     dataset_sorted = Dataset({
         'x': self.xs[::-1],
         'y': -self.ys[::-1]
     },
                              kdims=['x'],
                              vdims=['y'])
     self.assertEqual(dataset.sort('y'), dataset_sorted)
Beispiel #21
0
 def test_dataset_2D_aggregate_partial_ht(self):
     dataset = Dataset({
         'x': self.xs,
         'y': self.ys,
         'z': self.zs
     },
                       kdims=['x', 'y'],
                       vdims=['z'])
     reduced = Dataset({
         'x': self.xs,
         'z': self.zs
     },
                       kdims=['x'],
                       vdims=['z'])
     self.assertEqual(dataset.aggregate(['x'], np.mean), reduced)
Beispiel #22
0
 def test_dataset_2D_aggregate_partial_hm(self):
     z_ints = [el**2 for el in self.y_ints]
     dataset = Dataset({
         'x': self.xs,
         'y': self.y_ints,
         'z': z_ints
     },
                       kdims=['x', 'y'],
                       vdims=['z'])
     self.assertEqual(
         dataset.aggregate(['x'], np.mean),
         Dataset({
             'x': self.xs,
             'z': z_ints
         }, kdims=['x'], vdims=['z']))
Beispiel #23
0
 def test_dataset_array_init_hm(self):
     "Tests support for arrays (homogeneous)"
     exception = "None of the available storage backends "\
      "were able to support the supplied data format."
     with self.assertRaisesRegexp(Exception, exception):
         Dataset(np.column_stack([self.xs, self.xs_2]),
                 kdims=['x'], vdims=['x2'])
Beispiel #24
0
 def test_holomap_hist_two_dims(self):
     hmap = HoloMap({i: Dataset({'x':self.xs, 'y': self.ys * i},
                                kdims=['x'], vdims=['y'])
                     for i in range(10)}, kdims=['z'])
     hists = hmap.hist(dimension=['x', 'y'])
     self.assertEqual(hists['right'].last.kdims, ['y'])
     self.assertEqual(hists['top'].last.kdims, ['x'])
 def test_heatmap_construct_and_sort(self):
     data = [(chr(65+i),chr(97+j), i*j) for i in range(3) for j in [2, 0, 1] if i!=j]
     hmap = HeatMap(data).sort()
     dataset = Dataset({'x': ['A', 'B', 'C'], 'y': ['a', 'b', 'c'],
                        'z': [[np.NaN, 0, 0], [0, np.NaN, 2], [0, 2, np.NaN]]},
                       kdims=['x', 'y'], vdims=['z'])
     self.assertEqual(hmap.gridded, dataset)
Beispiel #26
0
 def test_holomap_redim_nested(self):
     hmap = HoloMap({i: Dataset({'x':self.xs, 'y': self.ys * i},
                                kdims=['x'], vdims=['y'])
                     for i in range(10)}, kdims=['z'])
     redimmed = hmap.redim(x='Time', z='Magnitude')
     self.assertEqual(redimmed.dimensions('all', True),
                      ['Magnitude', 'Time', 'y'])
Beispiel #27
0
 def setUp(self):
     self.xs = range(11)
     self.y_ints = [i * 2 for i in range(11)]
     self.ys = np.linspace(0, 1, 11)
     self.columns = Dataset(np.column_stack([self.xs, self.y_ints]),
                            kdims=['x'],
                            vdims=['y'])
Beispiel #28
0
 def test_dataset_ndelement_init_hm(self):
     "Tests support for homogeneous NdElement (backwards compatibility)"
     exception = "None of the available storage backends "\
      "were able to support the supplied data format."
     with self.assertRaisesRegexp(Exception, exception):
         Dataset(NdElement(zip(self.xs, self.xs_2),
                           kdims=['x'], vdims=['x2']))
Beispiel #29
0
 def test_dataset_groupby_drop_dims_dynamic(self):
     array = np.random.rand(3, 20, 10)
     ds = Dataset({'x': range(10), 'y': range(20), 'z': range(3), 'Val': array},
                  kdims=['x', 'y', 'z'], vdims=['Val'])
     with DatatypeContext([self.datatype, 'columns', 'dataframe']):
         partial = ds.to(Dataset, kdims=['x'], vdims=['Val'], groupby='y', dynamic=True)
         self.assertEqual(partial[19]['Val'], array[:, -1, :].T.flatten())
Beispiel #30
0
 def test_dataset_dataframe_init_hm_alias(self):
     "Tests support for homogeneous DataFrames"
     if pd is None:
         raise SkipTest("Pandas not available")
     dataset = Dataset(pd.DataFrame({'x':self.xs, 'x2':self.xs_2}),
                       kdims=[('x', 'X-label')], vdims=[('x2', 'X2-label')])
     self.assertTrue(isinstance(dataset.data, self.data_instance_type))