CompositeFunctor¶
- class lsst.pipe.tasks.functors.CompositeFunctor(funcs, **kwargs)¶
Bases:
FunctorPerform multiple calculations at once on a catalog.
The role of a
CompositeFunctoris to group together computations from multiple functors. Instead of returningpandas.SeriesaCompositeFunctorreturns apandas.Dataframe, with the column names being the keys offuncDict.The
columnsattribute of aCompositeFunctoris the union of all columns in all the component functors.A
CompositeFunctordoes not use a_funcmethod itself; rather, when aCompositeFunctoris called, all its columns are loaded at once, and the resulting dataframe is passed to the_funcmethod of each component functor. This has the advantage of only doing I/O (reading from parquet file) once, and works because each individual_funcmethod of each component functor does not care if there are extra columns in the dataframe being passed; only that it must contain at least thecolumnsit expects.An important and useful class method is
from_yaml, which takes as argument the path to a YAML file specifying a collection of functors.- Parameters:
Attributes Summary
Columns required to perform calculation
Short name of functor (suitable for column name/dict key)
Methods Summary
__call__(data, **kwargs)Apply the functor to the data table
difference(data1, data2, **kwargs)Computes difference between functor called on two different DataFrame/Handle objects
fail(df)from_file(filename, **kwargs)from_yaml(translationDefinition, **kwargs)multilevelColumns(data, **kwargs)Returns columns needed by functor from multilevel dataset
renameCol(col, renameRules)update(new)Attributes Documentation
- columns¶
- dataset = None¶
- filt¶
- name = 'CompositeFunctor'¶
- noDup¶
- shortname¶
Short name of functor (suitable for column name/dict key)
Methods Documentation
- __call__(data, **kwargs)¶
Apply the functor to the data table
- Parameters:
- datavarious
The data represented as
lsst.daf.butler.DeferredDatasetHandle,lsst.pipe.base.InMemoryDatasetHandle, orpandas.DataFrame. The table or a pointer to a table on disk from which columns can be accessed
- difference(data1, data2, **kwargs)¶
Computes difference between functor called on two different DataFrame/Handle objects
- fail(df)¶
- classmethod from_file(filename, **kwargs)¶
- classmethod from_yaml(translationDefinition, **kwargs)¶
- multilevelColumns(data, **kwargs)¶
Returns columns needed by functor from multilevel dataset
To access tables with multilevel column structure, the
DeferredDatasetHandleorInMemoryDatasetHandleneed to be passed either a list of tuples or a dictionary.- Parameters:
- datavarious
The data as either
DeferredDatasetHandle, orInMemoryDatasetHandle.- columnIndex (optional): pandas `Index` object
either passed or read in from
DeferredDatasetHandle.- `returnTuple`
bool If true, then return a list of tuples rather than the column dictionary specification. This is set to
TruebyCompositeFunctorin order to be able to combine columns from the various component functors.
- classmethod renameCol(col, renameRules)¶
- update(new)¶