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