警告已使用`.loc []`的警告

时间:2019-06-07 18:37:22

标签: python pandas

我正在使用Pandas 0.24.2为机器学习准备一些数据。要设置数据,我使用了StandardScaler()中的scikit-learn对功能进行了规范化。但是,我收到关于

的奇怪警告
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

奇怪的是,我已经在数据帧上使用了.iloc[]方法。这是下面的代码本身。请注意,x_train, x_test是数据帧。

dat = pd.read_csv('/path/data.csv')
x_train, x_test = train_test_split(dat, 
                               test_size=0.2,
                               random_state=42)
scaler = StandardScaler()
x_train.iloc[:, :-1] = scaler.fit_transform(x_train.iloc[:, :-1])
x_test.iloc[:, :-1] = scaler.transform(x_test.iloc[:, :-1])

x_mean = scaler.mean_
x_std = scaler.scale_

有人能弄清楚实际问题是什么吗?我避免重新缩放数据框中的最后一列,因为它是标签列。

0 个答案:

没有答案