from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
ct = ColumnTransformer(
[("numeric", StandardScaler(), [0, 1, 2]),
("categorical", OneHotEncoder(), [3])])
pipeline = Pipeline([
("preprocessing", ct)
])
X_transformed = pipeline.fit_transform(X)