【发布时间】:2018-08-23 06:52:22
【问题描述】:
我有一个 numpy 数组 X,它有 3 列,如下所示:
array([[ 3791, 2629, 0],
[ 1198760, 113989, 0],
[ 4120665, 0, 1],
...
前 2 列是连续值,最后一列是二进制 (0,1)。我想仅将 StandardScaler 类应用于前 2 列。我目前正在通过以下方式执行此操作:
scaler = StandardScaler()
X_subset = scaler.fit_transform(X[:,[0,1]])
X_last_column = X[:, 2]
X_std = np.concatenate((X_subset, X_last_column[:, np.newaxis]), axis=1)
那么 X_std 的输出是:
array([[-0.34141308, -0.18316715, 0. ],
[-0.22171671, -0.17606473, 0. ],
[ 0.07096154, -0.18333483, 1. ],
...,
有没有办法一步完成这一切?我想将此作为管道的一部分包含在内,它将缩放前 2 列并保留最后一个二进制列。
【问题讨论】:
标签: python dataset scikit-learn