A bike shop's table has number columns with gaps and a word column. Prepare a new bike the same way as the training table.
Task: write prepare_row(table, number_columns, word_column, new_row).
table is a dict mapping column names to lists. Number columns may contain None for gaps.new_row is a dict mapping each of those column names to one value (not a list). Its numbers may be None too.ColumnTransformer with two lines, in this order:
("numbers", inner, number_columns), where inner is a Pipeline of ("fill", SimpleImputer(strategy="median")) then ("scale", StandardScaler()).("words", OneHotEncoder(handle_unknown="ignore"), [word_column]).new_row.Tip: build the tables with pd.DataFrame(...) and make each number column float (for example with .astype(float)), so None becomes np.nan.