本文整理汇总了Python中holoviews.Dataset.groupby方法的典型用法代码示例。如果您正苦于以下问题:Python Dataset.groupby方法的具体用法?Python Dataset.groupby怎么用?Python Dataset.groupby使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类holoviews.Dataset
的用法示例。
在下文中一共展示了Dataset.groupby方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_dataset_scalar_groupby
# 需要导入模块: from holoviews import Dataset [as 别名]
# 或者: from holoviews.Dataset import groupby [as 别名]
def test_dataset_scalar_groupby(self):
ds = Dataset({'A': 1, 'B': np.arange(10)}, kdims=['A', 'B'])
groups = ds.groupby('A')
self.assertEqual(groups, HoloMap({1: Dataset({'B': np.arange(10)}, 'B')}, 'A'))
示例2: HeterogeneousColumnTests
# 需要导入模块: from holoviews import Dataset [as 别名]
# 或者: from holoviews.Dataset import groupby [as 别名]
#.........这里部分代码省略.........
aggregated = Dataset({'Gender': ['M'], 'Weight': [15]},
kdims='Gender', vdims=['Weight'])
self.compare_dataset(ds.aggregate(['Gender'], np.mean), aggregated)
def test_dataset_aggregate_string_types_size(self):
ds = Dataset({'Gender':['M', 'M'], 'Weight':[20, 10], 'Name':['Peter', 'Matt']},
kdims='Gender', vdims=['Weight', 'Name'])
aggregated = Dataset({'Gender': ['M'], 'Weight': [2], 'Name': [2]},
kdims='Gender', vdims=['Weight', 'Name'])
self.compare_dataset(ds.aggregate(['Gender'], np.size), aggregated)
def test_dataset_aggregate_ht_alias(self):
aggregated = Dataset({'gender':['M', 'F'], 'weight':[16.5, 10], 'height':[0.7, 0.8]},
kdims=self.alias_kdims[:1], vdims=self.alias_vdims)
self.compare_dataset(self.alias_table.aggregate('Gender', np.mean), aggregated)
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)
def test_dataset_empty_aggregate(self):
dataset = Dataset([], kdims=self.kdims, vdims=self.vdims)
aggregated = Dataset([], kdims=self.kdims[:1], vdims=self.vdims)
self.compare_dataset(dataset.aggregate(['Gender'], np.mean), aggregated)
def test_dataset_empty_aggregate_with_spreadfn(self):
dataset = Dataset([], kdims=self.kdims, vdims=self.vdims)
aggregated = Dataset([], kdims=self.kdims[:1], vdims=[d for vd in self.vdims for d in [vd, vd+'_std']])
self.compare_dataset(dataset.aggregate(['Gender'], np.mean, np.std), aggregated)
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'], sort=False)
print(grouped.keys())
self.assertEqual(self.table.groupby(['Gender']), grouped)
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')], sort=False)
self.assertEqual(self.alias_table.groupby('Gender'), grouped)
def test_dataset_groupby_second_dim(self):
group1 = {'Gender':['M'], 'Weight':[15], 'Height':[0.8]}
group2 = {'Gender':['M'], 'Weight':[18], 'Height':[0.6]}
group3 = {'Gender':['F'], 'Weight':[10], 'Height':[0.8]}
grouped = HoloMap([(10, Dataset(group1, kdims=['Gender'], vdims=self.vdims)),
(16, Dataset(group2, kdims=['Gender'], vdims=self.vdims)),
(12, Dataset(group3, kdims=['Gender'], vdims=self.vdims))],
kdims=['Age'], sort=False)
self.assertEqual(self.table.groupby(['Age']), grouped)
def test_dataset_groupby_dynamic(self):
grouped_dataset = self.table.groupby('Gender', dynamic=True)
self.assertEqual(grouped_dataset['M'],
self.table.select(Gender='M').reindex(['Age']))
示例3: test_grid_3d_groupby_concat_roundtrip
# 需要导入模块: from holoviews import Dataset [as 别名]
# 或者: from holoviews.Dataset import groupby [as 别名]
def test_grid_3d_groupby_concat_roundtrip(self):
array = np.random.rand(4, 5, 3, 2)
orig = Dataset((range(2), range(3), range(5), range(4), array), ['A', 'B', 'x', 'y'], 'z')
self.assertEqual(concat(orig.groupby(['A', 'B'])), orig)
示例4: test_dataset_dynamic_groupby_with_transposed_dimensions
# 需要导入模块: from holoviews import Dataset [as 别名]
# 或者: from holoviews.Dataset import groupby [as 别名]
def test_dataset_dynamic_groupby_with_transposed_dimensions(self):
dat = np.zeros((3,5,7))
dataset = Dataset((range(7), range(5), range(3), dat), ['z','x','y'], 'value')
grouped = dataset.groupby('z', kdims=['y', 'x'], dynamic=True)
self.assertEqual(grouped[2].dimension_values(2, flat=False), dat[:, :, -1].T)
示例5: GridDatasetTest
# 需要导入模块: from holoviews import Dataset [as 别名]
# 或者: from holoviews.Dataset import groupby [as 别名]
class GridDatasetTest(HomogeneousColumnTypes, ComparisonTestCase):
"""
Test of the NdDataset interface (mostly for backwards compatibility)
"""
def setUp(self):
self.restore_datatype = Dataset.datatype
Dataset.datatype = ['grid']
self.data_instance_type = dict
self.init_data()
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'])
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'])
def test_dataset_dataframe_init_hm(self):
"Tests support for homogeneous DataFrames"
if pd is None:
raise SkipTest("Pandas not available")
exception = "None of the available storage backends "\
"were able to support the supplied data format."
with self.assertRaisesRegexp(Exception, exception):
Dataset(pd.DataFrame({'x':self.xs, 'x2':self.xs_2}),
kdims=['x'], vdims=['x2'])
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']))
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']))
def test_dataset_2D_reduce_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(np.array(dataset.reduce(['x', 'y'], np.mean)),
np.mean(array))
def test_dataset_add_dimensions_value_hm(self):
with self.assertRaisesRegexp(Exception, 'Cannot add key dimension to a dense representation.'):
self.dataset_hm.add_dimension('z', 1, 0)
def test_dataset_add_dimensions_values_hm(self):
table = self.dataset_hm.add_dimension('z', 1, range(1,12), vdim=True)
self.assertEqual(table.vdims[1], 'z')
self.compare_arrays(table.dimension_values('z'), np.array(list(range(1,12))))
def test_dataset_sort_vdim_hm(self):
exception = ('Compressed format cannot be sorted, either instantiate '
'in the desired order or use the expanded format.')
with self.assertRaisesRegexp(Exception, exception):
self.dataset_hm.sort('y')
def test_dataset_groupby(self):
self.assertEqual(self.dataset_hm.groupby('x').keys(), list(self.xs))
示例6: HeterogeneousColumnTypes
# 需要导入模块: from holoviews import Dataset [as 别名]
# 或者: from holoviews.Dataset import groupby [as 别名]
#.........这里部分代码省略.........
def test_dataset_reduce_ht(self):
reduced = Dataset({'Age':self.age, 'Weight':self.weight, 'Height':self.height},
kdims=self.kdims[1:], vdims=self.vdims)
self.assertEqual(self.table.reduce(['Gender'], np.mean), reduced)
def test_dataset_1D_reduce_ht(self):
self.assertEqual(self.dataset_ht.reduce('x', np.mean), np.float64(0.5))
def test_dataset_2D_reduce_ht(self):
reduced = Dataset({'Weight':[14.333333333333334], 'Height':[0.73333333333333339]},
kdims=[], vdims=self.vdims)
self.assertEqual(self.table.reduce(function=np.mean), reduced)
def test_dataset_2D_partial_reduce_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.reduce(['y'], np.mean), reduced)
def test_column_aggregate_ht(self):
aggregated = Dataset({'Gender':['M', 'F'], 'Weight':[16.5, 10], 'Height':[0.7, 0.8]},
kdims=self.kdims[:1], vdims=self.vdims)
self.compare_dataset(self.table.aggregate(['Gender'], np.mean), aggregated)
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)
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)
def test_dataset_add_dimensions_value_ht(self):
table = self.dataset_ht.add_dimension('z', 1, 0)
self.assertEqual(table.kdims[1], 'z')
self.compare_arrays(table.dimension_values('z'), np.zeros(len(table)))
def test_dataset_add_dimensions_values_ht(self):
table = self.dataset_ht.add_dimension('z', 1, range(1,12))
self.assertEqual(table.kdims[1], 'z')
self.compare_arrays(table.dimension_values('z'), np.array(list(range(1,12))))
# Indexing
def test_dataset_index_row_gender_female(self):
indexed = Dataset({'Gender':['F'], 'Age':[12],
'Weight':[10], 'Height':[0.8]},
kdims=self.kdims, vdims=self.vdims)
row = self.table['F',:]
self.assertEquals(row, indexed)
def test_dataset_index_rows_gender_male(self):
row = self.table['M',:]
indexed = Dataset({'Gender':['M', 'M'], 'Age':[10, 16],
'Weight':[15,18], 'Height':[0.8,0.6]},
kdims=self.kdims, vdims=self.vdims)