skbio.table.Table.sort#
- Table.sort(sort_f=<function natsort>, axis='sample')[source]#
Return a table sorted along axis
- Parameters:
- sort_ffunction, optional
Defaults to
biom.util.natsort
. A function that takes a list of values and sorts it- axis{‘sample’, ‘observation’}, optional
The axis to operate on
- Returns:
- biom.Table
A table whose samples or observations are sorted according to the sort_f function
Examples
>>> import numpy as np >>> from biom.table import Table
Create a 2x3 BIOM table:
>>> data = np.asarray([[1, 0, 4], [1, 3, 0]]) >>> table = Table(data, ['O2', 'O1'], ['S2', 'S1', 'S3']) >>> print(table) # Constructed from biom file #OTU ID S2 S1 S3 O2 1.0 0.0 4.0 O1 1.0 3.0 0.0
Sort the order of samples in the table using the default natural sorting:
>>> new_table = table.sort() >>> print(new_table) # Constructed from biom file #OTU ID S1 S2 S3 O2 0.0 1.0 4.0 O1 3.0 1.0 0.0
Sort the order of observations in the table using the default natural sorting:
>>> new_table = table.sort(axis='observation') >>> print(new_table) # Constructed from biom file #OTU ID S2 S1 S3 O1 1.0 3.0 0.0 O2 1.0 0.0 4.0
Sort the samples in reverse order using a custom sort function:
>>> sort_f = lambda x: list(sorted(x, reverse=True)) >>> new_table = table.sort(sort_f=sort_f) >>> print(new_table) # Constructed from biom file #OTU ID S3 S2 S1 O2 4.0 1.0 0.0 O1 0.0 1.0 3.0