Я хочу использовать sklearn.preprocessing.StandardScaler для подмножества столбцов панд данных.Вне конвейера это тривиально:
df[['A', 'B']] = scaler.fit_transform(df[['A', 'B']])
Но теперь предположим, что у меня есть столбец 'C' в df типа string и следующее определение конвейера
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
pipeline = Pipeline([
('standard', StandardScaler())
])
df_scaled = pipeline.fit_transform(df)
Как мне сказать StandardScalerтолько шкалы A и B?
Я привык к конвейерам SparkML, где масштабируемые объекты могут быть переданы в конструктор компонента масштабирования:
normalizer = Normalizer(inputCol="features", outputCol="features_norm", p=1.0)
Примечание. Столбец объектов содержитразреженный вектор со всеми столбцами числовых объектов, созданными Spark's VectorAssembler