【发布时间】:2021-08-30 21:13:52
【问题描述】:
我想使用 sklearn 的 MinMaxScaler 函数重新缩放我的 pandas 数据帧,就像在 this 教程中一样。
我的数据在mydata,
x1 x2 x3 x4 x5
Date
2015-03-01 90 180 113 12 2125
2015-03-02 64 180 107 5 2121
2015-03-03 79 170 110 12 2009
2015-03-04 82 160 107 6 2020
2015-03-05 69 152 108 13 1979
2015-03-06 51 229 95 10 2120
我的代码只重新调整列x1、x2、x3 是
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler, StandardScaler
### load mydata
scaler = MinMaxScaler()
mydata_scaled = scaler.fit_transform(mydata.values)
mydata_scaled = pd.DataFrame(mydata_scaled, columns=['x1','x2','x3'])
mydata_scaled.head(5)
但我收到错误 ValueError: Shape of passed values is (5, 6), indices imply (3, 6)。还有一个solution使用Column_Transformer,但我想知道为什么MinMaxScaler方法不起作用。
【问题讨论】:
-
您有 5 列,但您在最终数据框中仅提供其中 3 列的名称
-
那么有没有办法指定我只想规范化列
x1、x2、x3?我不想碰其他列
标签: python pandas scikit-learn rescale