【问题标题】:Scale specific columns in pandas dataframe using MinMaxScaler [duplicate]使用 MinMaxScaler 缩放熊猫数据框中的特定列
【发布时间】: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

我的代码只重新调整列x1x2x3

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 列的名称
  • 那么有没有办法指定我只想规范化列x1x2x3?我不想碰其他列

标签: python pandas scikit-learn rescale


【解决方案1】:

我找到了解决办法:

mydata[['x1','x2','x3']] = MinMaxScaler().fit_transform(mydata[['x1','x2','x3']])

类似Standardize some columns in Python Pandas dataframe?中的解决方案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-05
    • 2020-03-09
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2021-12-12
    • 2021-03-21
    相关资源
    最近更新 更多