【发布时间】:2020-03-15 10:31:16
【问题描述】:
我有这个 numpy 矩阵:
x = np.random.randn(700,2)
我想做的是在该范围内缩放第一列的值:1.5 and 11 和在 `-0.5 和 5.0 之间的第二列的值。有谁知道我怎么能做到这一点?提前致谢
【问题讨论】:
标签: python numpy machine-learning scaling numpy-ndarray
我有这个 numpy 矩阵:
x = np.random.randn(700,2)
我想做的是在该范围内缩放第一列的值:1.5 and 11 和在 `-0.5 和 5.0 之间的第二列的值。有谁知道我怎么能做到这一点?提前致谢
【问题讨论】:
标签: python numpy machine-learning scaling numpy-ndarray
我们使用一个新数组y 来保存结果:
def scale(col, min, max):
range = col.max() - col.min()
a = (col - col.min()) / range
return a * (max - min) + min
x = np.random.randn(700,2)
y = np.empty(x.shape)
y[:, 0] = scale(x[:, 0], 1.5, 11)
y[:, 1] = scale(x[:, 1], -0.5, 5)
print(y.min(axis=0), y.max(axis=0))
[ 1.5 -0.5] [11. 5.]
【讨论】:
您可能可以将其中一些步骤结合起来。
【讨论】: