Returns a dataframe with the requested ColumnReductions.

def _apply(self, aggregator):
        """Returns a dataframe with the requested ColumnReductions.
        """

        reduced_dfs = []
        if self.include_fraction:
            n_df = self.numerator.apply_and_name(aggregator)
            d_df = self.denominator.apply_and_name(aggregator)
            reduced_dfs.extend([n_df[cn]/d_df[cd]
                                for cn, cd in product(n_df.columns, d_df.columns)])

        if self.include_numerator:
            reduced_dfs.append(self.numerator.apply_and_name(aggregator))

        if self.include_denominator:
            reduced_dfs.append(self.denominator.apply_and_name(aggregator))

        return pd.concat(reduced_dfs, axis=1)