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)