import numpy as np import pandas as pd from sklearn.compose import ColumnTransformer from sklearn.impute import SimpleImputer from sklearn.pipeline import Pipeline from sklearn.preprocessing import OneHotEncoder numeric_features = ["age", "monthly_spend"] categorical_features = ["plan"] train = pd.DataFrame( { "age": [25, 32, np.nan, 45], "monthly_spend": [120, 210, 180, np.nan], "plan": ["basic", "premium", "basic", np.nan], } ) holdout = pd.DataFrame( { "age": [np.nan, 42], "monthly_spend": [190, np.nan], "plan": [np.nan, "premium"], } )