Nuestros mejores investigadores han agotado sus provisiones de café, en su búsqueda diariamente por la resolución, hasta que Matías encontró el hallazgo en Beanstalk así que ahora la compartimos con nosotros.
Solución:
Manifestación:
In [90]: df = pd.DataFrame(np.random.randn(5, 3), index=list('abcde'), columns=list('xyz'))
In [91]: df
Out[91]:
x y z
a -0.325882 -0.299432 -0.182373
b -0.833546 -0.472082 1.158938
c -0.328513 -0.664035 0.789414
d -0.031630 -1.040802 -1.553518
e 0.813328 0.076450 0.022122
In [92]: from sklearn.preprocessing import MinMaxScaler
In [93]: mms = MinMaxScaler()
In [94]: df[['x','z']] = mms.fit_transform(df[['x','z']])
In [95]: df
Out[95]:
x y z
a 0.308259 -0.299432 0.505500
b 0.000000 -0.472082 1.000000
c 0.306662 -0.664035 0.863768
d 0.486932 -1.040802 0.000000
e 1.000000 0.076450 0.580891
el mismo resultado también se puede lograr usando sklearn.preprocessing.minmax_scale
:
from sklearn.preprocessing import minmax_scale
df[['x','z']] = minmax_scale(df[['x','z']])
Dado que sklearn> = 0.20, puede hacerlo usando Column Transformer
standard_transformer = Pipeline(steps=[
('standard', StandardScaler())])
minmax_transformer = Pipeline(steps=[
('minmax', MinMaxScaler())])
preprocessor = ColumnTransformer(
remainder='passthrough', #passthough features not listed
transformers=[
('std', standard_transformer , ['z']),
('mm', minmax_transformer , ['x','y'])
])
Aquí puedes ver las reseñas y valoraciones de los usuarios
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)