'Fit all transformers using X.
Parameters
X : iterable or array-like, depending on transformers
Input data, used to fit transformers.
y : array-like, shape (n_samples, ...), optional
Targets for supervised learning.
Returns
self : FeatureUnion
This estimator'

def fit(self, X, y=None):

    self._validate_transformers()
    transformers = Parallel(n_jobs=self.n_jobs)((delayed(_fit_one_transformer)(trans, X, y) for (_, trans, _) in self._iter()))
    self._update_transformer_list(transformers)
    return self
