TableGroups#

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

Bases: 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]#

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

Parameters:
funcfunction

Function that reduces an array of values to a single value

Returns:
outTable

New table with the aggregated rows.

filter(func)[source]#

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:
funcfunction

Filter function

Returns:
outTable

New table with the aggregated rows.