CompositeFunctor¶
- class lsst.pipe.tasks.functors.CompositeFunctor(funcs, **kwargs)¶
- Bases: - Functor- Perform multiple calculations at once on a catalog. - The role of a - CompositeFunctoris to group together computations from multiple functors. Instead of returning- pandas.Seriesa- CompositeFunctorreturns a- pandas.Dataframe, with the column names being the keys of- funcDict.- The - columnsattribute of a- CompositeFunctoris the union of all columns in all the component functors.- A - CompositeFunctordoes not use a- _funcmethod itself; rather, when a- CompositeFunctoris 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 the- columnsit 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, or- pandas.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 - DeferredDatasetHandleor- InMemoryDatasetHandleneed to be passed either a list of tuples or a dictionary.- Parameters:
- datavarious
- The data as either - DeferredDatasetHandle, or- InMemoryDatasetHandle.
- 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 - Trueby- CompositeFunctorin order to be able to combine columns from the various component functors.
 
 
 - classmethod renameCol(col, renameRules)¶
 - update(new)¶