Почему бы не сделать это вручную в исходном наборе данных?Предполагая, что вы используете pd.DataFrame
, вы можете сделать следующее:
import numpy as np
import pandas as pd
from sklearn.preprocessing import Imputer
df = pd.DataFrame({'A': [1, 2, 3, 8], 'B': [1, 2, 5, 3]})
df_new = df.replace([1, 2], np.nan)
df_imp = Imputer().fit_transform(df_new)
В результате вы получите df_imp
:
array([[ 5.5, 4. ],
[ 5.5, 4. ],
[ 3. , 5. ],
[ 8. , 3. ]])
Если вы хотите сделать это частью конвейера,вам просто нужно реализовать собственный преобразователь с аналогичной логикой.