【问题标题】:min-max scaling of dataframe in iPythoniPython中数据帧的最小-最大缩放
【发布时间】:2015-01-27 07:41:40
【问题描述】:

我是 Python 新手。我有数据框,我想在每一列(每个属性)中进行 min-max(0-1) 缩放。我找到了 MinMaxScaller 方法,但我不知道如何将它与数据框一起使用。

from sklearn import preprocessing

def sci_minmax(X):
    minmax_scale = preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True)
    return minmax_scale.fit_transform(X)

data_normalized = sci_minmax(data)
data_variance=data_normalized.var()
data_variance.head(10)

错误是“numpy.float64”对象没有属性“head”。我需要返回类型的数据框

【问题讨论】:

    标签: python numpy scipy normalization ipython-notebook


    【解决方案1】:

    scipy/numpy 中没有 head 方法。

    如果你想要pandas.DataFrame,你必须调用构造函数。

    您的意思是查看head 的前 10 条记录吗?

    您也可以使用 numpy 轻松完成此操作。

    要选择数组的前 10 条记录,python 语法是array[:10]。使用numpy 矩阵,您需要指定行和列:array[:10,]array[,:10]

    【讨论】:

    • 最后我按照我的方式做了:data_norm = (data - data.min()) / (data.max() - data.min())
    • 请注意区分您是否需要逐行、逐列或逐帧标准化。最常见的可能是每列;我猜你的代码会产生每帧重新缩放。
    • 是的,我希望每列都有。我应该如何重写它?
    • 试试axis参数。
    猜你喜欢
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 2015-05-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多