def fit(self, X, y=None):
        """
        Fit a transformation from the pipeline
        :param X (DataSet): the data to fit
        """
        for columns, transformer in self.mapping:
            if transformer is not None:
                transformer.fit(self._get_columns(X, columns))
        return self