CompositeFunctor¶
-
class
lsst.pipe.tasks.functors.
CompositeFunctor
(funcs, **kwargs)¶ Bases:
lsst.pipe.tasks.functors.Functor
Perform multiple calculations at once on a catalog
The role of a
CompositeFunctor
is to group together computations from multiple functors. Instead of returningpandas.Series
aCompositeFunctor
returns apandas.Dataframe
, 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 argument the path to a YAML file specifying a collection of functors.Parameters: Attributes Summary
columns
Columns required to perform calculation dataset
filt
name
Full name of functor (suitable for figure labels) noDup
shortname
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 ParquetTable 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
¶ Columns required to perform calculation
-
dataset
= None¶
-
filt
¶
-
name
¶ Full name of functor (suitable for figure labels)
-
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: - data :
lsst.daf.butler.DeferredDatasetHandle
, The table or a pointer to a table on disk from which columns can be accessed
- data :
-
difference
(data1, data2, **kwargs)¶ Computes difference between functor called on two different ParquetTable 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
MultilevelParquetTable
orDeferredDatasetHandle
need to be passed either a list of tuples or a dictionary.Parameters: - data :
MultilevelParquetTable
orDeferredDatasetHandle
- 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
True
byCompositeFunctor
in order to be able to combine columns from the various component functors.
- data :
-
classmethod
renameCol
(col, renameRules)¶
-
update
(new)¶
-