【问题标题】:preprocessing.MinMaxScaler and preprocessing.normalize return dataframe of Nullspreprocessing.MinMaxScaler 和 preprocessing.normalize 返回 Null 的数据帧
【发布时间】:2016-01-28 09:59:30
【问题描述】:

我有浮点数作为数据的数据框,我想规范化数据,所以首先我将它转换为 int(否则我有错误ValueError: Input contains NaN, infinity or a value too large for dtype('float64').) 我的规范化代码:

def normalize_df():
    x = my_df.values.astype(int)
    min_max_scaler = preprocessing.MinMaxScaler()
    x_scaled = min_max_scaler.fit_transform(x)
    df = pd.DataFrame(x_scaled)
    return df

我的输出是

    0   1   2   3   4   5   6   7   8   9   ...     12  13  14  15  16  17  18  19  20  21
0   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
1   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
2   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
3   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
4   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0

发生了什么(假设我的初始数据帧在某些行中包含值 0 但不到数据帧的 30%)?如何修复此错误并避免输出为零?

已编辑

我的数据看起来像(有更多的列和行):

 36680            0        22498037            2266   
 0             2218        22502676               0   
 26141            0        22505885            4533   
 39009            0        22520711            4600   
 36237            0        22527171            5933   

我试图将值从 0.0 到 1.0

【问题讨论】:

  • 您能提供示例数据和预期输出吗?

标签: python pandas scikit-learn dataframe normalization


【解决方案1】:

这不是错误,它正在发生,因为您正试图将 NaN 值转换为整数,看看它是如何工作的(在我的机器上):

In [132]: a
Out[132]: array([ nan,   1.,  nan])

In [133]: a.astype(int)
Out[133]: array([-9223372036854775808,                    1, -9223372036854775808])

因此,与数据集中的其他整数相比,每个 NaN 的值都非常小,这会导致缩放不正确。

要解决此问题,您应该使用浮点数。在缩放之前,您需要通过一些插补来摆脱NaN,或者完全删除这些不完整的样本。看sklearn.preprocessing.Imputer

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 1970-01-01
    • 2016-12-22
    • 2018-09-14
    • 1970-01-01
    • 2021-02-20
    • 2020-02-09
    • 1970-01-01
    • 2018-05-11
    相关资源
    最近更新 更多