我收到以下警告: 尝试在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 =数据[数据['名称'] ==' fred']
所以.loc不起作用。并且.assign也没有,因为我有一个列列表而不是我可以分配的列。我只是不太确定如何以它想要的方式处理它。
除了警告之外,它的工作方式很好。所以我的方式是正确的。
答案 0 :(得分:0)
我认为警告是说你做了类似
的事情X_train.loc[:, col_names] = features