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 returningSeriesaCompositeFunctorreturns aDataFrame, 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 an argument the path to a YAML file specifying a collection of functors.- Parameters:
Attributes Summary
Columns required to perform calculation.
Do not explode by band if used on object table.
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)Update the functor with new functors.
Attributes Documentation
- columns¶
- dataset = None¶
- filt¶
- name = 'CompositeFunctor'¶
- noDup¶
Do not explode by band if used on object table.
- 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
DeferredDatasetHandle,InMemoryDatasetHandle, orDataFrame. 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
DeferredDatasetHandleorInMemoryDatasetHandleneeds to be passed either a list of tuples or a dictionary.- Parameters:
- datavarious
The data as either
DeferredDatasetHandle, orInMemoryDatasetHandle.- columnIndex (optional): pandas `~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)¶
Update the functor with new functors.