如何解决使用 MinMaxScaler 缩放熊猫数据框中的特定列
我想使用 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
方法不起作用。
解决方法
我找到了解决方案:
mydata[['x1','x2','x3']] = MinMaxScaler().fit_transform(mydata[['x1','x3']])
类似于Standardize some columns in Python Pandas dataframe?中的解决方案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。