【问题标题】:Normalize Pandas DataFrame at specific columns在特定列规范化 Pandas DataFrame
【发布时间】:2019-03-15 19:18:55
【问题描述】:

我有一个具有以下结构的 Pandas DataFrame。

Feature 1  | Feature 2  | Feature 3
10         | 200        | True
30         | 233        | False
45         | 344        | True

知道如何仅对 feature 1feature 2 进行规范化吗?不改变原始DataFrame的索引。

我已经尝试过以下代码,但它会将所有列标准化并将数据帧的索引更改为 0,1,2

x = df.values
min_max_scaler = preprocessing.MinMaxScaler()
x_scaled = min_max_scaler.fit_transform(x)
dataset = pd.DataFrame(x_scaled)

【问题讨论】:

    标签: python pandas numpy scikit-learn data-science


    【解决方案1】:

    只需创建数据框的视图:

    x = df[['Feature 1', 'Feature 2']]
    min_max_scaler = preprocessing.MinMaxScaler()
    x_scaled = min_max_scaler.fit_transform(x)
    dataset = pd.DataFrame(x_scaled)
    dataset['Feature 3'] = df['Feature 3']
    

    【讨论】:

    • 它的工作,但我也必须在新数据集中包含“特征 3”(没有规范化)。
    • 检查更新(注意您的示例数据没有索引,所以它应该可以工作)
    猜你喜欢
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 2019-06-13
    • 2018-09-15
    • 2020-12-11
    • 2017-01-07
    • 1970-01-01
    相关资源
    最近更新 更多