CompositeFunctor¶
- class lsst.pipe.tasks.functors.CompositeFunctor(funcs, **kwargs)¶
Bases:
Functor
Perform multiple calculations at once on a catalog.
The role of a
CompositeFunctor
is to group together computations from multiple functors. Instead of returningSeries
aCompositeFunctor
returns aDataFrame
, with the column names being the keys offuncDict
.The
columns
attribute of aCompositeFunctor
is the union of all columns in all the component functors.A
CompositeFunctor
does not use a_func
method itself; rather, when aCompositeFunctor
is called, all its columns are loaded at once, and the resulting DataFrame is passed to the_func
method of each component functor. This has the advantage of only doing I/O (reading from parquet file) once, and works because each individual_func
method of each component functor does not care if there are extra columns in the DataFrame being passed; only that it must contain at least thecolumns
it 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
DeferredDatasetHandle
orInMemoryDatasetHandle
needs 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
True
byCompositeFunctor
in order to be able to combine columns from the various component functors.
- classmethod renameCol(col, renameRules)¶
- update(new)¶
Update the functor with new functors.