# TableGroups¶

class astropy.table.TableGroups(parent_table, indices=None, keys=None)[source] [edit on github]

Bases: astropy.table.groups.BaseGroups

Attributes Summary

 indices key_colnames Return the names of columns in the parent table that were used for grouping. keys

Methods Summary

 aggregate(func) Aggregate each group in the Table into a single row by applying the reduction function func to group values in each column. filter(func) Filter groups in the Table based on evaluating function func on each group sub-table.

Attributes Documentation

indices
key_colnames

Return the names of columns in the parent table that were used for grouping.

keys

Methods Documentation

aggregate(func)[source] [edit on github]

Aggregate each group in the Table into a single row by applying the reduction function func to group values in each column.

Parameters: func : function Function that reduces an array of values to a single value out : Table New table with the aggregated rows.
filter(func)[source] [edit on github]

Filter groups in the Table based on evaluating function func on each group sub-table.

The function which is passed to this method must accept two arguments:

• table : Table object
• key_colnames : tuple of column names in table used as keys for grouping

It must then return either True or False. As an example, the following will select all table groups with only positive values in the non-key columns:

def all_positive(table, key_colnames):
colnames = [name for name in table.colnames if name not in key_colnames]
for colname in colnames:
if np.any(table[colname] < 0):
return False
return True

Parameters: func : function Filter function out : Table New table with the aggregated rows.