docs: 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