如何在Python中缩放numpy矩阵?

我有这个numpy矩阵: x = np.random.randn(700,2) 我想做的是在该范围1.5 and 11和`-0.5到5.0之间的第二列的值之间缩放。有谁知道我如何实现这一目标?预先感谢

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添加到该结果的第一列

您可能可以合并其中一些步骤。

本文链接:https://www.f2er.com/3070611.html

大家都在问