130 def run(self, *, full: astropy.table.Table) -> Struct:
135 full : `astropy.table.Table`
136 Table to split into row subsets.
140 result : `lsst.pipe.base.Struct`
141 Structure with two attributes:
143 - ``primary`` (`astropy.table.Table`) table with rows where the
144 `SplitPrimaryConfig.primary_flag_column` is `True`.
146 - ``nonprimary`` (`astropy.table.Table`) table with rows where the
147 `SplitPrimaryConfig.primary_flag_column` is `False`.
149 primary_mask = full[self.config.primary_flag_column]
150 primary = full[primary_mask]
151 del primary[self.config.primary_flag_column]
152 for name
in self.config.discard_primary_columns:
153 if name
in primary.colnames:
155 nonprimary = full[np.logical_not(primary_mask)]
156 del nonprimary[self.config.primary_flag_column]
157 for name
in self.config.discard_nonprimary_columns:
158 if name
in nonprimary.colnames:
161 "Split %s rows into %s primary rows and %s nonprimary rows.",
166 return Struct(primary=primary, nonprimary=nonprimary)