A fitted pipeline isn't a black box. Each step is still there, carrying what it learned.
Task: write inspect_pipeline(train_rows, train_labels).
train_rows is a list of rows of numbers, and train_labels the answers. There are at least 3 rows.make_pipeline(StandardScaler(), KNeighborsClassifier(n_neighbors=3)) and fit it on the rows."steps": the names of the pipeline's steps, in order, as a list of strings."means": the column averages the scaler learned, as a list, each rounded to 2 decimal places.