【发布时间】:2017-08-25 05:39:31
【问题描述】:
我收到以下警告: 试图在 DataFrame 中的切片副本上设置值。 尝试改用 .loc[row_indexer,col_indexer] = value
这是我收到警告的代码:
col_names = ['Column1', 'Column2']
features = X_train[col_names]
scaler = StandardScaler().fit(features.values)
features = scaler.transform(features.values)
X_train[col_names] = features
我意识到这种情况正在发生,因为我正在复制数据框。但是我在这里所做的与我在谷歌上找到的任何答案都不一样,所以我不知道如何将他们的答案应用于我的特定情况。看起来您收到此警告的正常情况是,如果您执行以下操作: d2 = 数据[数据['name'] == 'fred']
所以 .loc 不起作用。 .assign 也不是,因为我有一个列列表,而不仅仅是我可以分配的列。我只是不太确定如何以它想要的方式处理这个问题。
除了警告之外,它可以正常工作。所以我的方式是正确的。
【问题讨论】:
标签: python-3.x pandas numpy scikit-learn