skbio.table.Table.reduce#
- Table.reduce(f, axis)[source]#
Reduce over axis using function f
- Parameters:
- ffunction
The function to use for the reduce operation
- axis{‘sample’, ‘observation’}
The axis on which to operate
- Returns:
- numpy.array
A one-dimensional array representing the reduced rows (observations) or columns (samples) of the data matrix
- Raises:
- UnknownAxisError
If axis is neither “sample” nor “observation”
- TableException
If the table’s data matrix is empty
Examples
>>> import numpy as np >>> from biom.table import Table
Create a 2x3 table
>>> data = np.asarray([[0, 0, 1], [1, 3, 42]]) >>> table = Table(data, ['O1', 'O2'], ['S1', 'S2', 'S3'], ... [{'foo': 'bar'}, {'x': 'y'}], None)
Create a reduce function
>>> func = lambda x, y: x + y
Reduce table on samples
>>> table.reduce(func, 'sample') array([ 1., 3., 43.])
Reduce table on observations
>>> table.reduce(func, 'observation') array([ 1., 46.])