Jas*_*son 5 python pandas scikit-learn
我使用的是scikit learning的StandardScaler(),请注意,在应用transform(xtrain)或fit_transform(xtrain)之后,它也会更改xtrain数据框。这应该发生吗?如何避免StandardScaler更改数据框?(我尝试使用copy = False)
xtrain.describe() #everything ok here
scalar = StandardScaler()
xtrain2 = scalar.fit_transform(xtrain)
Run Code Online (Sandbox Code Playgroud)
在此阶段,我希望xtrain不会改变,而xtrain2是xtrain的缩放版本。但是,当我在两个数据帧上运行describe()时,我看到它们都是相同的并且都已缩放。这是为什么?
我这样做时会遇到相同的问题:
scalekey = scalar.fit(xtrain)
xtrain2 = scalekey.transform(xtrain)
Run Code Online (Sandbox Code Playgroud)
您可以复制并传递此副本,以免修改您的 df:
xtrain2 = xtrain.copy()
scalar.fit_transform(xtrain2)
Run Code Online (Sandbox Code Playgroud)
文档指出默认参数是这样的,所以它不应该修改你的 df.StandardScalercopy=True
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |