我有这个numpy矩阵:
x = np.random.randn(700,2)
我想做的是在该范围1.5 and 11
和`-0.5到5.0之间的第二列的值之间缩放。有谁知道我如何实现这一目标?预先感谢
如何在Python中缩放numpy矩阵?
•
问答
hz000005 回答:如何在Python中缩放numpy矩阵?
我们使用新的数组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.]
,
- 从自身中减去每一列的最小值
- 对于结果的每一列除以其最大值
- 该结果的第0列乘以11-1.5
- 该结果的第1列乘以5--0.5
- 将1.5添加到该结果的第零列
- 将-0.5添加到该结果的第一列
您可能可以合并其中一些步骤。