微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 MinMaxScaler 缩放熊猫数据框中的特定列

如何解决使用 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 举报,一经查实,本站将立刻删除。